Les données sont récupérées via une requête HTTP GET vers l'API REST de SAS Viya (/identities/groups). Le résultat est ensuite traité comme un fichier JSON.
1 Bloc de code
MACRO
Explication : Déclare la macro et initialise les variables locales pour l'authentification et la configuration de base de l'API Viya.
Copié !
%macro mv_getgroups(
access_token_var=ACCESS_TOKEN,
grant_type=sas_services,
outds=work.viyagroups
);
%local oauth_bearer base_uri fname1 libref1;
%if &grant_type=detect %then %do;
%if %symexist(&access_token_var) %then %let grant_type=authorization_code;
%else %let grant_type=sas_services;
%end;
%if &grant_type=sas_services %then %do;
%let oauth_bearer=oauth_bearer=sas_services;
%let &access_token_var=;
%end;
%mp_abort(iftrue=(&grant_type ne authorization_code and &grant_type ne password
and &grant_type ne sas_services
)
,mac=&sysmacroname
,msg=%str(Invalid value for grant_type: &grant_type)
)
options noquotelenmax;
/* location of rest apis */
%let base_uri=%mf_getplatform(VIYARESTAPI);
%mp_abort(iftrue=(&grant_type ne authorization_code and &grant_type ne password
17
and &grant_type ne sas_services
18
)
19
,mac=&sysmacroname
20
,msg=%str(Invalid value for grant_type: &grant_type)
21
)
22
options noquotelenmax;
23
/* location of rest apis */
24
%let base_uri=%mf_getplatform(VIYARESTAPI);
25
2 Bloc de code
MACRO / PROC HTTP
Explication : Obtient des références de fichier et de librairie uniques, effectue la requête HTTP GET vers l'API Viya pour récupérer les groupes, et vérifie le code de retour HTTP. Un libname JSON est ensuite créé pour lire la réponse.
Explication : Crée le dataset de sortie (&outds) en sélectionnant les éléments de la librairie JSON. Ensuite, libère les références de fichier et de librairie.
Copié !
data &outds;
set &libref1..items;
run;
/* clear refs */
filename &fname1 clear;
libname &libref1 clear;
1
DATA &outds;
2
SET &libref1..items;
3
RUN;
4
5
6
/* clear refs */
7
filename &fname1 clear;
8
LIBNAME &libref1 clear;
4 Bloc de code
MACRO
Explication : Termine la définition de la macro %mv_getgroups.
Copié !
%mend mv_getgroups;
1
%mend mv_getgroups;
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 : Source potentielle : https://github.com/sasjs/core
« Cette macro est un parfait exemple de la modernité de SAS Viya. On ne se contente plus de gérer les utilisateurs via des interfaces graphiques ; on utilise la puissance du langage SAS pour interroger directement le cœur du système via son API REST. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.