Publié le :
Administration CREATION_INTERNE

Extraction des Adresses E-mail de la Métadonnée SAS

Ce code est également disponible en : Deutsch Español
En attente de validation
Attention : Ce code nécessite des droits administrateur.
Le programme établit une connexion au serveur de métadonnées SAS© en utilisant les options globales `metaserver`, `metaport`, `metauser`, `metapass` et `metaprotocol`. Il initialise ensuite un nouveau jeu de données `WORK.EMAILS` avec des variables pour le type, l'identifiant, l'adresse e-mail, l'URI de l'e-mail, l'URI de l'utilisateur et le nom de l'utilisateur, toutes de longueur 50 caractères. Les variables sont initialisées à des valeurs manquantes. La fonction `metadata_resolve` est utilisée pour compter le nombre d'objets 'Email' définis dans la métadonnée SAS©. Si des objets sont trouvés, le script itère sur chacun d'eux. Pour chaque objet 'Email', il utilise `metadata_getnobj` pour récupérer l'URI de l'objet, puis `metadata_getattr` pour extraire l'adresse e-mail ('Address'). Il récupère ensuite l'URI de l'utilisateur associé via `metadata_getnasn` et enfin le nom de l'utilisateur ('Name') via `metadata_getattr`. Chaque ensemble d'informations collectées est ensuite écrit dans le jeu de données `WORK.EMAILS`.
Analyse des données

Type : CREATION_INTERNE


Le script crée le jeu de données `WORK.EMAILS` en interrogeant directement les objets 'Email' et 'Person' définis dans la métadonnée SAS. La référence à `@code_sas_json/identity.json` dans les appels `metadata_resolve` et `metadata_getnobj` fait partie de la syntaxe de l'identifiant de l'objet de métadonnées et ne signifie pas que le contenu du fichier JSON est utilisé comme source de données externe pour le `DATA STEP`.

1 Bloc de code
OPTIONS
Explication :
Ce bloc configure les options globales SAS nécessaires pour établir une connexion au serveur de métadonnées SAS. Il spécifie le serveur de métadonnées, le port, le nom d'utilisateur, le mot de passe, le référentiel et le protocole de communication. Ces paramètres sont essentiels pour que le script puisse interagir avec l'environnement de métadonnées et en extraire des informations.
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 Data
Explication :
Ce bloc `DATA STEP` est responsable de la création du jeu de données `WORK.EMAILS` et de l'extraction des données. Il initialise les variables, puis utilise `metadata_resolve` pour compter les objets 'Email' dans la métadonnée. Une boucle est exécutée si des objets 'Email' sont trouvés. À chaque itération, les fonctions `metadata_getnobj`, `metadata_getattr` et `metadata_getnasn` sont utilisées de manière séquentielle pour récupérer l'URI de l'objet 'Email', l'adresse e-mail associée, l'URI de l'utilisateur lié et enfin le nom de cet utilisateur. L'instruction `output` écrit les informations extraites dans le jeu de données `WORK.EMAILS` pour chaque e-mail trouvé.
Copié !
1DATA work.emails; /* Create a dataset, work.emails. */
2 
3/* define and initialize variables. */
4LENGTH type id email_add email_uri user_uri user_name $ 50;
5call missing (type,id,email_add,email_uri,user_uri,user_name);
6 
7/* Count the email objects defined in Metadata. */
8email_count=metadata_resolve("omsobj:Email? @code_sas_json/identity.json contains '.'",type,id);
9 
10/* If any are present, for each one gather their attributes. */
11IF email_count > 0 THEN DO n=1 to email_count;
12 rc=metadata_getnobj("omsobj:Email? @code_sas_json/identity.json contains '.'",1,email_uri);
13 rc=metadata_getattr(email_uri,"Address",email_add);
14 rc=metadata_getnasn(email_uri,"Persons",1,user_uri);
15 rc=metadata_getattr(user_uri,"Name",user_name);
16 OUTPUT; /* Write the attributes gathered to the dataset. */
17END;
18RUN;
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: 09FEB2017


Banner
Le Conseil de l'Expert
Expert
Michael
Responsable de l'infrastructure Viya.
« Ce script démontre une utilisation avancée des fonctions d'interface de métadonnées SAS, une compétence clé pour l'administration et l'audit de la plateforme. Au lieu de s'appuyer sur des tables statiques, le programme interroge directement le serveur de métadonnées en temps réel.

Pour une mise en production, évitez de laisser les identifiants metauser et metapass en clair. Privilégiez l'utilisation d'un fichier de configuration sécurisé ou d'un profil d'authentification crypté. »