Veröffentlicht am :
Verwaltung INTERNE ERSTELLUNG

Extraktion von Metadaten-Bereitstellungsverzeichnissen

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Attention : Dieser Code erfordert Administratorrechte.
Das Programm stellt eine Verbindung zum SAS©-Metadatenserver her, indem es die Optionen 'metaserver', 'metaport', 'metauser', 'metapass', 'metarepository' und 'metaprotocol' verwendet. Anschließend initialisiert es einen DATA-Schritt, um die Metadaten abzufragen. Das Skript verwendet die Funktionen 'metadata_resolve', 'metadata_getnobj', 'metadata_getnasn' und 'metadata_getattr', um 'Directory'-Objekte mit einem zugeordneten 'ServerContext' (der Bereitstellungsverzeichnisse bezeichnet) zu identifizieren. Für jedes gefundene Verzeichnis ruft es dessen Namen, Pfad, zugehörige Anwendungen, enthaltene Dateien und, falls Transformationen (Jobs) mit den Dateien verknüpft sind, den Namen des Jobs und die verantwortliche Person ab. Die gesammelten Informationen werden in der Tabelle 'work.deployfiles' gespeichert. Schließlich wird PROC PRINT verwendet, um den Inhalt dieser Tabelle anzuzeigen.
Datenanalyse

Type : INTERNE ERSTELLUNG


Die Daten werden dynamisch generiert, indem die SAS-Metadatenumgebung über die SAS Metadata Interface-Funktionen abgefragt wird. Es werden keine externen Datenquellen (Dateien, Datenbanken usw.) direkt vom Skript gelesen.

1 Codeblock
OPTIONS
Erklärung :
Dieser Block konfiguriert die Verbindung zum SAS-Metadatenserver und spezifiziert Adresse, Port, Anmeldeinformationen, Repository und Protokoll. Diese Optionen sind entscheidend, damit das Skript mit der Metadatenumgebung interagieren kann.
Kopiert!
1options
2 metaserver="meta.demo.sas.com"
3 metaport=8561
4 metauser="sasadm @saspw"
5 metapass="password"
6 metarepository=Foundation
7 metaprotocol=BRIDGE;
2 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA-Schritt stellt eine Verbindung zu den SAS-Metadaten her, um Informationen über Bereitstellungsverzeichnisse zu extrahieren. Er verwendet die SAS Metadata Interface-Funktionen, um Verzeichnisobjekte aufzulösen, deren Attribute (Name, Pfad) sowie zugehörige Anwendungen, Dateien und Jobs abzurufen. Die Variablen werden deklariert und beibehalten, um einen neuen Datensatz 'work.deployfiles' zu erstellen, der die Details der Verzeichnisse, Dateien und Job-Besitzer enthält.
Kopiert!
1DATA work.deployfiles;
2 
3 /* declare and initialize variables */
4 LENGTH app_name type dir_uri app_uri dir_name file_uri file_name owner
5 trans_uri resp_uri job_name $ 50 id $ 17 dir_path $ 255;
6 call missing(of _character_);
7 
8 /* variables to store to table */
9 keep app_name dir_name dir_path file_name owner job_name;
10 
11 /* Define a query to find deployment directories (directory objects with an */
12 /* associated server context). */
13 dir_obj="omsobj:Directory?Directory[ @code_sas_json/downside_frequency_test.json contains '.'][DeployedComponents/ServerContext]";
14 /* Count number of directories with an associated server context. */
15 dir_rc=metadata_resolve(dir_obj,type,id);
16 
17 /* if directories exist, pull data from them. */
18 IF dir_rc > 0 THEN DO n=1 to dir_rc;
19 
20 rc=metadata_getnobj(dir_obj,n,dir_uri);
21 rc=metadata_getnasn(dir_uri,"DeployedComponents",1,app_uri);
22 rc=metadata_getattr(app_uri,"Name",app_name);
23 rc=metadata_getattr(dir_uri,"Name",dir_name);
24 rc=metadata_getattr(dir_uri,"DirectoryName",dir_path);
25 
26 file_rc=metadata_getnasn(dir_uri,"Files",1,file_uri);
27 
28 /* if files are associated with the directory, pull data on them. */
29 IF file_rc > 0 THEN DO m=1 to file_rc;
30 
31 rc=metadata_getnasn(dir_uri,"Files",m,file_uri);
32 rc=metadata_getattr(file_uri,"FileName",file_name);
33 trans_rc=metadata_getnasn(file_uri,"AssociatedTransformation",1,trans_uri);
34 
35 /* if jobs are associated with the files, pull the responsible */
36 /* party of that job. */
37 IF trans_rc > 0 THEN DO o=1 to trans_rc;
38 
39 rc=metadata_getnasn(file_uri,"AssociatedTransformation",o,trans_uri);
40 rc=metadata_getattr(trans_uri,"Name",job_name);
41 rc=metadata_getnasn(trans_uri,"ResponsibleParties",1,resp_uri);
42 rc=metadata_getattr(resp_uri,"Name",owner);
43 OUTPUT;
44 END;
45 ELSE put "INFO: No Associations Found";
46 END;
47 ELSE put "INFO: No Associated Files Found";
48 
49 END;
50 ELSE put "INFO: No Deployment Directories Found";
51RUN;
3 Codeblock
PROC PRINT
Erklärung :
Diese Prozedur erstellt einen lesbaren Bericht, indem sie den Inhalt der Tabelle 'work.deployfiles' anzeigt, die im vorherigen DATA-Schritt erstellt wurde. Sie ermöglicht die Visualisierung der Bereitstellungsverzeichnisse und ihrer aus den Metadaten extrahierten Informationen.
Kopiert!
1PROC PRINT DATA=deployfiles; RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : This program pulls a list of Deployment Directories to Metadata. Author: Greg Wootton Date: 09DEC2016