Publié le :

Assignation Automatique de Contexte Serveur (Métadonnées SAS 9)

Ce code est également disponible en : Deutsch English Español
Attention : Ce code nécessite des droits administrateur.
Ce programme est conçu pour un environnement SAS© 9 (ou un environnement Viya connecté à une métadonnée SAS© 9 via le protocole Bridge). Il se connecte au serveur de métadonnées, identifie le contexte serveur 'SASSTP' et recherche des bibliothèques correspondant à une requête spécifique (l'identifiant de requête dans le code fourni contient un artefact '@code_sas©_json/DataGridProvider.json' qui semble être une erreur de copier-coller ou d'injection, remplaçant probablement une condition sur '@Name'). Pour chaque bibliothèque trouvée, il met à jour les métadonnées pour y associer le contexte serveur via l'association 'DeployedComponents'.
Analyse des données

Type : EXTERNE


Le script n'utilise pas de données tabulaires SAS classiques. Il interroge et modifie le référentiel de métadonnées (Metadata Repository) via des fonctions DATA Step spécialisées (metadata_resolve, metadata_getnobj, metadata_setassn).

1 Bloc de code
OPTIONS
Explication :
Configuration des paramètres de connexion au serveur de métadonnées SAS 9 (hôte, port, utilisateur, mot de passe, référentiel).
Copié !
1options
2 metaserver="meta.demo.sas.com"
3 metaport=8561
4 metauser="sasadm @saspw"
5 metapass="password"
6 metarepository=Foundation
7 metaprotocol=Bridge;
2 Bloc de code
DATA STEP
Explication :
Étape DATA _NULL_ contenant la logique métier : interrogation du serveur de métadonnées pour trouver l'URI du serveur d'application, recherche des bibliothèques cibles, et boucle d'assignation (ajout de l'association 'DeployedComponents' avec 'metadata_setassn').
Copié !
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;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Author: Greg Wootton Date: 16JUN2017


Banner
Le Conseil de l'Expert
Expert
Simon
Expert SAS et fondateur.
« Le couplage entre une bibliothèque et un contexte serveur (comme SASSTP) via l'association DeployedComponents est ce qui rend vos données visibles et exploitables par les serveurs de calcul. L'automatisation de ce lien par programmation est une technique d'administration avancée qui permet de garantir qu'une nouvelle bibliothèque est instantanément disponible pour vos Stored Processes ou vos utilisateurs Workspace sans intervention manuelle dans la console. »