EXECUTE DCM PROJECT¶
Exécute l’une des actions suivantes sur un projet DCM :
EXECUTE DCM PROJECT <name> PLANeffectue une simulation de l’exécution de DCM project pour analyser les modifications qui seraient appliquées à la cible lors d’un déploiement, mais n’applique aucune modification.EXECUTE DCM PROJECT <name> DEPLOYdéploie les modifications définies dans les fichiers de définition du projet sur le compte.EXECUTE DCM PROJECT <name> REFRESH ALLactualise les tables dynamiques gérées par DCM project.EXECUTE DCM PROJECT <name> TEST ALLteste toutes les attentes des fonctions de métrique des données associées gérées par DCM project.EXECUTE DCM PROJECT <name> PREVIEWrenvoie un échantillon de données des définitions actuelles spécifiées dans le chemin source de la table, vue ou table dynamique spécifiée.
- Voir aussi :
CREATE DCM PROJECT, ALTER DCM PROJECT, DESCRIBE DCM PROJECT, DROP DCM PROJECT, SHOW DCM PROJECTS, SHOW DEPLOYMENTS IN DCM PROJECT
Syntaxe¶
Paramètres requis¶
nameSpécifie l’identificateur du projet DCM à exécuter.
Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.
Pour plus d’informations, voir Exigences relatives à l’identificateur.
PLANDemande à Snowflake d’effectuer une simulation de l’exécution de|dcm-object|. En mode simulation, Snowflake analyse les modifications qui seraient appliquées à la cible lors d’un déploiement, mais n’applique aucune modification.
DEPLOY [ AS 'deployment_name_alias' ]Déploie les modifications définies dans les fichiers de définition du projet sur le compte ; spécifie éventuellement un alias pour le déploiement.
FROM 'source_files_path'Indique le répertoire qui contient les fichiers sources de DCM project. Le répertoire doit contenir un fichier manifeste et au moins un fichier de définition dans
/sources/definitions/. Le fichier manifeste fournit les valeurs de modélisation au cas où une configuration a été spécifiée.REFRESH ALLActualise toutes les tables dynamiques actuellement gérées par DCM project.
TEST ALLVérifie toutes les contraintes de qualité des données associées aux tables, aux tables dynamiques ou aux vues actuellement gérées par DCM project.
PREVIEW fully_qualified_table_object_nameRenvoie un échantillon de données des définitions actuelles spécifiées dans le chemin source pour la table, la vue ou la table dynamique spécifiée, indépendamment de tout état déployé.
Paramètres facultatifs¶
USING CONFIGURATION config_nameSpécifie la configuration à utiliser. Cela vous permet de personnaliser les déploiements pour différents environnements, tels que le développement, la mise en zone de préparation ou la production, sans utiliser différents fichiers de définition de projet.
Si le nom de la configuration n’est pas tout en majuscules, placez-le entre guillemets doubles.
USING ( expr [, expr , ... ] )Spécifie éventuellement les valeurs des variables de modèle. L’utilisation de cette option remplace toutes les valeurs par défaut ou de configuration pour cette variable spécifique. L’expression unique doit se présenter sous la forme suivante :
<variable_name> => <variable_value>. Pour les listes, utilisez le format suivant :<variable_name> => [<value1>, <value2>, ...]. Par exemple :wh_size => 'MEDIUM'orteams => ['TEAM_A', 'TEAM_B'].Cela vous permet de personnaliser les déploiements pour différents environnements, tels que le développement, la mise en zone de préparation ou la production, sans utiliser différents fichiers de définition de projet.
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :
Privilège |
Objet |
Remarques |
|---|---|---|
OWNERSHIP |
Projet DCM |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
Pour effectuer une opération sur un objet dans un schéma, il est nécessaire de disposer d’au moins un privilège sur la base de données parente et d’au moins un privilège sur le schéma parent.
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
Sortie¶
Après l’exécution de DCM project, cette commande renvoie la sortie suivante en fonction de la variation :
PLAN et DEPLOY : Une seule ligne contenant un objet JSON avec le journal des modifications
PREVIEW : Un jeu de résultats
REFRESH ALL : Une seule ligne contenant un objet JSON qui contient la réponse complète.
TEST ALL : Une seule ligne contenant un objet JSON qui contient la réponse complète.
Notes sur l’utilisation¶
Lors de l’exécution d’un DCM project avec EXECUTE DCM PROJECT PLAN, la sortie de la commande est identique à celle du déploiement réel. La différence est qu’aucune modification n’est appliquée au compte concerné. Cette fonctionnalité vous permet de vérifier si les fichiers de définition générés respectent la syntaxe requise, quelles modifications seraient appliquées au compte, et si le rôle de propriétaire du projet dispose des privilèges nécessaires pour appliquer ces modifications.
Pour éviter les modifications involontaires et détecter les erreurs, exécutez toujours EXECUTE DCM PROJECT PLAN avant de déployer un DCM project.
Prise en charge des variables de modèle¶
Les variables de modèle permettent de choisir de manière dynamique le contenu des fichiers de définitions paramétrés pendant l’exécution DCM project. Vous pouvez utiliser les variables de modèle des manières suivantes :
Consultez la section Exemples de variables de modèle pour obtenir des exemples.
Exemples¶
Exemples de base¶
Exécutez un DCM project en mode PLAN pour valider les modifications apportées à un projet sans les appliquer :
Exécutez un projet DCM en mode DEPLOY (pour appliquer les modifications) pour spécifier un alias de déploiement et une configuration nommée PROD :
Exemples de variables de modèle¶
Les exemples suivants montrent comment vous pouvez spécifier la valeur des variables de modèle dans une instruction EXECUTE DCM PROJECT.
Remplacer la variable de modèle définie dans le fichier manifeste du projet DCM
Définir une variable de modèle nommée
descdans le fichier manifeste :Créer un fichier de définition qui utilise la variable de modèle :
Appeler la commande EXECUTE DCM PROJECT en mode DEPLOY, et spécifier une valeur pour la variable
descpour remplacer sa valeur par défaut dans le manifeste :
Indiquer une valeur pour une variable de modèle non définie dans le fichier manifeste
Créer un fichier de définition avec les commandes souhaitées :
Appeler la commande EXECUTE DCM PROJECT, et spécifier une valeur pour la variable
desc_new: