Publicado el :
Administración CREATION_INTERNE

Adición de directorios de despliegue en los metadatos de SAS

Este código también está disponible en: Deutsch English Français
En espera de validación
Attention : Este código requiere privilegios de administrador.
El programa se conecta al servidor de metadatos de SAS©, luego crea un conjunto de datos interno que contiene los nombres y rutas de los directorios a añadir. Verifica la existencia del contexto de aplicación objetivo. Si se encuentra el contexto, el script recorre el conjunto de datos y, para cada entrada, crea un nuevo objeto de metadatos de tipo 'Directory' asociado a este contexto, especificando su ruta física y otros atributos requeridos.
Análisis de datos

Type : CREATION_INTERNE


La información sobre los directorios de despliegue (nombre y ruta) se crea directamente en el script a través de un paso DATA y una instrucción 'datalines'.

1 Bloque de código
OPTIONS
Explicación :
Este bloque configura las opciones del sistema para establecer una conexión con el servidor de metadatos de SAS. Especifica el host, el puerto, las credenciales de usuario, el repositorio (Foundation) y el protocolo de conexión (BRIDGE).
¡Copiado!
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 Bloque de código
DATA STEP Data
Explicación :
Define una variable macro 'appcontext' para el nombre del contexto. Luego, un paso DATA crea la tabla 'depdirs' en memoria. Esta tabla contiene dos columnas, 'Name' y 'Path', que se rellenan a través de la instrucción 'datalines' con la lista de directorios de despliegue a crear.
¡Copiado!
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 Bloque de código
DATA STEP
Explicación :
Este paso DATA _null_ (que no produce una tabla de salida) gestiona la lógica principal. Comienza resolviendo la URI del contexto de la aplicación a través de 'metadata_resolve'. Si se encuentra el contexto, lee la tabla 'depdirs' línea por línea. Para cada línea, utiliza 'metadata_newobj' para crear un nuevo objeto 'Directory' y 'metadata_setattr' para definir sus atributos, incluido el path ('DirectoryName').
¡Copiado!
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;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Author: Greg Wootton Date: 14JUN2019