Publicado el :

Asignación Automática de Contexto de Servidor (Metadatos SAS 9)

Este código también está disponible en: Deutsch English Français
Attention : Este código requiere privilegios de administrador.
Este programa está diseñado para un entorno SAS© 9 (o un entorno Viya conectado a un metadato SAS© 9 a través del protocolo Bridge). Se conecta al servidor de metadatos, identifica el contexto del servidor 'SASSTP' y busca bibliotecas que coincidan con una consulta específica (el identificador de consulta en el código proporcionado contiene un artefacto '@code_sas©_json/DataGridProvider.json' que parece ser un error de copiar y pegar o de inyección, reemplazando probablemente una condición sobre '@Name'). Para cada biblioteca encontrada, actualiza los metadatos para asociar el contexto del servidor a través de la asociación 'DeployedComponents'.
Análisis de datos

Type : EXTERNE


El script no utiliza datos tabulares SAS clásicos. Consulta y modifica el repositorio de metadatos (Metadata Repository) a través de funciones especializadas de DATA Step (metadata_resolve, metadata_getnobj, metadata_setassn).

1 Bloque de código
OPTIONS
Explicación :
Configuración de los parámetros de conexión al servidor de metadatos SAS 9 (host, puerto, usuario, contraseña, repositorio).
¡Copiado!
1options
2 metaserver="meta.demo.sas.com"
3 metaport=8561
4 metauser="sasadm @saspw"
5 metapass="password"
6 metarepository=Foundation
7 metaprotocol=Bridge;
2 Bloque de código
DATA STEP
Explicación :
Paso DATA _NULL_ que contiene la lógica de negocio: consulta del servidor de metadatos para encontrar la URI del servidor de aplicaciones, búsqueda de las bibliotecas de destino y bucle de asignación (adición de la asociación 'DeployedComponents' con 'metadata_setassn').
¡Copiado!
1DATA _null_;
2 LENGTH type id app_uri lib_uri $ 50;
3 call missing(of _character_);
4 
5 /* Recherche du contexte serveur SASSTP */
6 appobj="omsobj:ServerContext? @Name='SASSTP'";
7 app_count=metadata_resolve(appobj,type,id);
8 
9 IF app_count <= 0 THEN DO;
10 put "ERROR: No application server context found matching query " appobj;
11 stop;
12 END;
13 ELSE DO;
14 /* Récupération de l'URI du contexte */
15 rc=metadata_getnobj(appobj,1,app_uri);
16 
17 /* Recherche des bibliothèques cibles */
18 libobj="omsobj:SASLibrary? ..."; /* Partie corrompue dans l'entrée originale */
19 lib_count=metadata_resolve(libobj,type,id);
20 
21 IF lib_count <= 0 THEN DO;
22 put "ERROR: No libraries found matching query " libobj;
23 stop;
24 END;
25 ELSE DO n=1 to lib_count;
26 /* Boucle de mise à jour des métadonnées */
27 rc=metadata_getnobj(libobj,1,lib_uri);
28 rc=metadata_setassn(lib_uri,"DeployedComponents","Append",app_uri);
29 END;
30 END;
31RUN;
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: 16JUN2017