Publié le :
Administration CREATION_INTERNE

Extraction des attributs étendus de bibliothèque (SAS 9 Metadata)

Ce code est également disponible en : Deutsch English
En attente de validation
Attention : Ce code nécessite des droits administrateur.
Ce programme configure une connexion vers un serveur de métadonnées SAS© 9 (host, port, user, password) pour rechercher une bibliothèque spécifique (par défaut 'Visual Analytics LASR'). Il utilise les fonctions du système de métadonnées (metadata_resolve, metadata_getnasn) pour itérer sur les attributs étendus et les sauvegarder dans une table SAS©. Note importante : Ce code est spécifiquement conçu pour l'architecture SAS© 9.x (LASR, Metadata Server) et n'est pas standard pour une architecture native SAS© Viya 4, bien qu'il puisse s'exécuter si un pont vers un serveur de métadonnées SAS© 9 est accessible.
Analyse des données

Type : CREATION_INTERNE


Les données sont générées dynamiquement par interrogation du serveur de métadonnées via des fonctions SAS, sans lecture de fichiers plats ou tables externes.

1 Bloc de code
OPTIONS
Explication :
Définition de la variable macro contenant le nom de la bibliothèque cible et configuration des options globales pour la connexion au serveur de métadonnées (authentification et localisation du serveur).
Copié !
1%let LIBNAME='Visual Analytics LASR';
2 
3options
4 metaserver="meta.demo.sas.com"
5 metaport=8561
6 metauser="sasadm @saspw"
7 metapass="password"
8 metarepository=Foundation
9 metaprotocol=bridge;
2 Bloc de code
DATA STEP Data
Explication :
Étape DATA qui interroge le serveur de métadonnées pour localiser l'objet 'SASLibrary'. Si trouvé, elle boucle sur les extensions (attributs étendus) associées, extrait leurs noms et valeurs, et les écrit dans la table de sortie 'extend'.
Copié !
1DATA extend;
2 LENGTH type id lib_uri ext_uri ext_name $ 50 ext_val $ 256;
3 call missing(of _CHARACTER_);
4 
5 obj="omsobj:SASLibrary? @Name=&libname";
6 
7 libcount=metadata_resolve(obj,type,id);
8 IF libcount > 0 THEN DO n=1 to libcount;
9 rc=metadata_getnobj(obj,n,lib_uri);
10 ext_count=metadata_getnasn(lib_uri,"Extensions",1,ext_uri);
11 
12 IF ext_count > 0 THEN DO m=1 to ext_count;
13 rc=metadata_getnasn(lib_uri,"Extensions",m,ext_uri);
14 rc=metadata_getattr(ext_uri,"Name",ext_name);
15 rc=metadata_getattr(ext_uri,"Value",ext_val);
16 OUTPUT;
17 END; ELSE put "NOTE: No Extended Attributes found for library &libname";
18 END;
19 ELSE put "NOTE: No library &libname found.";
20 
21 keep ext_name ext_val;
22RUN;
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 : Copyright © 2023, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. SPDX-License-Identifier: Apache-2.0


Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« L'extraction des attributs étendus est une étape cruciale pour auditer ou migrer des environnements SAS 9.4 complexes, particulièrement pour les bibliothèques LASR où des paramètres critiques (comme les ports de serveur ou les options de démarrage) sont stockés sous forme de paires Nom/Valeur dans les métadonnées. L'utilisation des fonctions metadata_getnasn sur l'association "Extensions" permet de descendre dans la hiérarchie de l'objet SASLibrary pour récupérer ces métadonnées non standard. Une bonne pratique consiste à toujours vérifier le code retour (rc) de la fonction metadata_getattr pour s'assurer que l'attribut visé existe bien, évitant ainsi de corrompre votre table de sortie avec des valeurs résiduelles du vecteur de données (PDV). »