Veröffentlicht am :
Verwaltung CREATION_INTERNE

Hinzufügen von Bereitstellungsverzeichnissen zu SAS-Metadaten

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Attention : Dieser Code erfordert Administratorrechte.
Das Programm verbindet sich mit dem SAS©-Metadatenserver und erstellt dann einen internen Datensatz, der die Namen und Pfade der hinzuzufügenden Verzeichnisse enthält. Es überprüft die Existenz des Zielanwendungskontextes. Wird der Kontext gefunden, durchläuft das Skript den Datensatz und erstellt für jeden Eintrag ein neues Metadatenobjekt vom Typ 'Directory', das diesem Kontext zugeordnet ist, wobei sein physischer Pfad und andere erforderliche Attribute angegeben werden.
Datenanalyse

Type : CREATION_INTERNE


Die Informationen zu den Bereitstellungsverzeichnissen (Name und Pfad) werden direkt im Skript über einen DATA-Schritt und eine 'datalines'-Anweisung erstellt.

1 Codeblock
OPTIONS
Erklärung :
Dieser Block konfiguriert die Systemoptionen zur Herstellung einer Verbindung zum SAS-Metadatenserver. Er spezifiziert den Host, den Port, die Benutzeranmeldeinformationen, das Repository (Foundation) und das Verbindungsprotokoll (BRIDGE).
Kopiert!
1/* Define connection to Metadata. */
2options
3 metaserver="meta.demo.sas.com"
4 metaport=8561
5 metauser="sasadm @saspw"
6 metapass="password"
7 metarepository=Foundation
8 metaprotocol=BRIDGE;
2 Codeblock
DATA STEP Data
Erklärung :
Definiert eine Makrovariable 'appcontext' für den Kontextnamen. Anschließend erstellt ein DATA-Schritt die Tabelle 'depdirs' im Speicher. Diese Tabelle enthält zwei Spalten, 'Name' und 'Path', die über die 'datalines'-Anweisung mit der Liste der zu erstellenden Bereitstellungsverzeichnisse gefüllt werden.
Kopiert!
1/* Define the context to attach the deployment directories. */
2%let appcontext = SASApp;
3 
4/* Create a dataset with each deployment directory name and path. */
5DATA depdirs;
6 LENGTH Name Path $ 255;
7 INPUT Name Path;
8 DATALINES;
9 DeploymentDir1 /tmp/depdir1
10 DeploymentDir2 /tmp/depdir2
11 ;;
12RUN;
3 Codeblock
DATA STEP
Erklärung :
Dieser DATA _null_ Schritt (der keine Ausgabetabelle erzeugt) verwaltet die Hauptlogik. Er beginnt mit der Auflösung des URI des Anwendungskontextes über 'metadata_resolve'. Wird der Kontext gefunden, liest er die Tabelle 'depdirs' zeilenweise ein. Für jede Zeile verwendet er 'metadata_newobj', um ein neues 'Directory'-Objekt zu erstellen, und 'metadata_setattr', um dessen Attribute, insbesondere den Pfad ('DirectoryName'), zu definieren.
Kopiert!
1DATA _null_;
2 
3/* Initialize variables. */
4LENGTH type id appuri diruri $ 255;
5call missing (of _character_);
6 
7/* Define query for context. */
8appobj = "omsobj:ServerContext? @Name='&appcontext'";
9 
10/* Check for the existence of the context. */
11rc=metadata_resolve(appobj,type,id);
12 
13/* If the context doesn't exist, throw an error and end the program. */
14IF rc ne 1 THEN DO;
15put "ERROR: A single context named &appcontext not found.";
16stop;
17END;
18 
19/* Read in the data set of deployment directories. */
20SET depdirs;
21 
22/* For each one, create the directory object as a child of the context */
23/* defined above. */
24rc=metadata_newobj("Directory",diruri,Name,"Foundation",appobj,"DataPackages");
25 
26/* Add the attribute defining the path. */
27rc=metadata_setattr(diruri,"DirectoryName",Path);
28 
29/* Add some required attributes. */
30rc=metadata_setattr(diruri,"UsageVersion","0");
31rc=metadata_setattr(diruri,"IsRelative","0");
32 
33RUN;
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 : Author: Greg Wootton Date: 14JUN2019