Publié le :
Administration CREATION_INTERNE

Réassociation d'objets fichiers via Métadonnées SAS 9

Ce code est également disponible en : Deutsch English Español
Attention : Ce code nécessite des droits administrateur.
Ce programme a été écrit pour résoudre des problèmes de planification de jobs suite à une migration ayant entraîné des changements de chemins. Il se connecte au serveur de métadonnées (OMR), vérifie l'existence des objets répertoires (ancien et nouveau) via leurs IDs, et utilise les fonctions d'interface de métadonnées (`metadata_resolve`, `metadata_getnasn`, `metadata_setassn`) pour déplacer les associations de fichiers. NOTE IMPORTANTE : Ce code utilise la syntaxe et les mécanismes spécifiques au Serveur de Métadonnées SAS© 9 (`options metaserver`, `omsobj:Directory`). Il n'est pas compatible nativement avec l'architecture de microservices (Folders/Files Services) de SAS© Viya 4 sans adaptation majeure ou connexion à un serveur SAS© 9 distant.
Analyse des données

Type : CREATION_INTERNE


Manipulation directe des métadonnées du système (pas de données métier).

1 Bloc de code
OPTIONS
Explication :
Configuration de la connexion au serveur de métadonnées SAS 9 (Host, Port, User, Repo).
Copié !
1options
2 metaserver='meta.demo.sas.com'
3 metaport=8561
4 metauser='sasadm @saspw'
5 metapass='password'
6 metarepository='Foundation';
2 Bloc de code
DATA STEP
Explication :
Étape Data _NULL_ principale qui : 1. Vérifie l'existence des objets répertoires via `metadata_resolve`. 2. Récupère les URIs. 3. Compte les fichiers associés à l'ancien répertoire. 4. Boucle sur chaque fichier pour remplacer l'association vers le nouveau répertoire via `metadata_setassn`.
Copié !
1DATA _null_;
2 /* Set the old and new IDs. */
3 %let olddir = 'A5STBUB8.B6000002';
4 %let newdir = 'A5STBUB8.B6000002';
5 /* ... (logique de résolution et boucle) ... */
6 rc=metadata_resolve("omsobj:Directory?id=&olddir",type,id);
7 /* ... */
8 file_count=metadata_getnasn(old_uri,"Files",1,file_uri);
9 IF file_count > 0 THEN DO i=1 to file_count;
10 /* ... */
11 rc=metadata_setassn(file_uri,"Directories","REPLACE",new_uri);
12 END;
13RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Author: Greg Wootton Date: 24JUL2018


Banner
Le Conseil de l'Expert
Expert
Michael
Responsable de l'infrastructure Viya.
« Avant d'exécuter ce type de maintenance "à chaud" sur l'OMR (Open Metadata Repository), effectuez systématiquement une sauvegarde des métadonnées. De plus, il est recommandé d'ajouter une instruction PUTLOG dans la boucle pour conserver une trace de chaque fichier déplacé (nom et ID), facilitant ainsi un éventuel retour en arrière. »