Les informations sur les répertoires de déploiement (nom et chemin) sont créées directement dans le script via une étape DATA et une instruction 'datalines'.
1 Bloc de code
OPTIONS
Explication : Ce bloc configure les options système pour établir une connexion au serveur de métadonnées SAS. Il spécifie l'hôte, le port, les identifiants de l'utilisateur, le référentiel (Foundation) et le protocole de connexion (BRIDGE).
Explication : Définit une variable macro 'appcontext' pour le nom du contexte. Ensuite, une étape DATA crée la table 'depdirs' en mémoire. Cette table contient deux colonnes, 'Name' et 'Path', qui sont peuplées via l'instruction 'datalines' avec la liste des répertoires de déploiement à créer.
Copié !
/* Define the context to attach the deployment directories. */
%let appcontext = SASApp;
/* Create a dataset with each deployment directory name and path. */
data depdirs;
length Name Path $ 255;
input Name Path;
datalines;
DeploymentDir1 /tmp/depdir1
DeploymentDir2 /tmp/depdir2
;;
run;
1
/* Define the context to attach the deployment directories. */
2
%let appcontext = SASApp;
3
4
/* Create a dataset with each deployment directory name and path. */
5
DATA depdirs;
6
LENGTH Name Path $ 255;
7
INPUT Name Path;
8
DATALINES;
9
DeploymentDir1 /tmp/depdir1
10
DeploymentDir2 /tmp/depdir2
11
;;
12
RUN;
3 Bloc de code
DATA STEP
Explication : Cette étape DATA _null_ (qui ne produit pas de table en sortie) gère la logique principale. Elle commence par résoudre l'URI du contexte d'application via 'metadata_resolve'. Si le contexte est trouvé, elle lit la table 'depdirs' ligne par ligne. Pour chaque ligne, elle utilise 'metadata_newobj' pour créer un nouvel objet 'Directory' et 'metadata_setattr' pour définir ses attributs, notamment le chemin ('DirectoryName').
Copié !
data _null_;
/* Initialize variables. */
length type id appuri diruri $ 255;
call missing (of _character_);
/* Define query for context. */
appobj = "omsobj:ServerContext?@Name='&appcontext'";
/* Check for the existence of the context. */
rc=metadata_resolve(appobj,type,id);
/* If the context doesn't exist, throw an error and end the program. */
if rc ne 1 then do;
put "ERROR: A single context named &appcontext not found.";
stop;
end;
/* Read in the data set of deployment directories. */
set depdirs;
/* For each one, create the directory object as a child of the context */
/* defined above. */
rc=metadata_newobj("Directory",diruri,Name,"Foundation",appobj,"DataPackages");
/* Add the attribute defining the path. */
rc=metadata_setattr(diruri,"DirectoryName",Path);
/* Add some required attributes. */
rc=metadata_setattr(diruri,"UsageVersion","0");
rc=metadata_setattr(diruri,"IsRelative","0");
run;
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: 14JUN2019
« L'ajout programmatique de répertoires de déploiement est une technique d'administration avancée qui garantit l'homogénéité de vos contextes de serveur (comme SASApp). En utilisant les fonctions de métadonnées plutôt que l'interface graphique, vous éliminez les erreurs de saisie manuelle et permettez un déploiement industriel de vos structures de dossiers techniques. »
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.