L'extraction des attributs étendus (Extended Attributes) est une technique cruciale pour l'administration de plateformes SAS 9.4, notamment pour les bibliothèques LASR ou Hadoop. Contrairement aux attributs standards (comme le Libref ou le moteur), ces extensions stockent des métadonnées spécifiques aux applications, telles que des options de performance, des paramètres de sécurité ou des configurations de chargement automatique.
Type : CREATION_INTERNE
Les données sont générées via des appels aux fonctions système de métadonnées (metadata_resolve, metadata_getnasn) sans lecture de tables externes.
| 1 | %let LIBNAME='Visual Analytics LASR'; |
| 1 | options |
| 2 | metaserver="my.sas.server" |
| 3 | metaport=8561 |
| 4 | metauser="sasadm @saspw" |
| 5 | metapass="password" |
| 6 | metarepository=Foundation |
| 7 | metaprotocol=bridge; |
| 1 | DATA 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; |
| 22 | RUN; |