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).
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!
/* Define the context to attach the deployment directories. */
%let appcontext = SASApp;
/* Create a dataset with each deployment directory name and path. */
data depdirs;
length Name Path $ 255;
input Name Path;
datalines;
DeploymentDir1 /tmp/depdir1
DeploymentDir2 /tmp/depdir2
;;
run;
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. */
5
DATA depdirs;
6
LENGTH Name Path $ 255;
7
INPUT Name Path;
8
DATALINES;
9
DeploymentDir1 /tmp/depdir1
10
DeploymentDir2 /tmp/depdir2
11
;;
12
RUN;
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!
data _null_;
/* Initialize variables. */
length type id appuri diruri $ 255;
call missing (of _character_);
/* Define query for context. */
appobj = "omsobj:ServerContext? @Name='&appcontext'";
/* Check for the existence of the context. */
rc=metadata_resolve(appobj,type,id);
/* If the context doesn't exist, throw an error and end the program. */
if rc ne 1 then do;
put "ERROR: A single context named &appcontext not found.";
stop;
end;
/* Read in the data set of deployment directories. */
set depdirs;
/* For each one, create the directory object as a child of the context */
/* defined above. */
rc=metadata_newobj("Directory",diruri,Name,"Foundation",appobj,"DataPackages");
/* Add the attribute defining the path. */
rc=metadata_setattr(diruri,"DirectoryName",Path);
/* Add some required attributes. */
rc=metadata_setattr(diruri,"UsageVersion","0");
rc=metadata_setattr(diruri,"IsRelative","0");
run;
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
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.