Catégories :

Information Schema , Fonctions de table

DCM_DEPLOYMENT_HISTORY

Cette fonction de table renvoie l’historique de déploiement pour les objets DCM project. Vous pouvez l’utiliser pour interroger les déploiements qui ont réussi et échoué, y compris les horodatages, le statut, les détails des erreurs et les statistiques récapitulatives. La fonction fournit un accès basé sur les rôles et des résultats à faible latence.

Syntaxe

DCM_DEPLOYMENT_HISTORY(
      [ PROJECT_NAME => '<string>' ]
      [, START_TIME_RANGE_START => <constant_expr> ]
      [, START_TIME_RANGE_END => <constant_expr> ]
      [, RESULT_LIMIT => <integer> ] )

Arguments

Tous les arguments sont facultatifs.

PROJECT_NAME => 'string'

Nom complet du DCM project. Si elle n’est pas fournie, la fonction renvoie l’historique de tous les projets accessibles par le rôle actuel.

START_TIME_RANGE_START => constant_expr

Horodatage (au format TIMESTAMP_LTZ) marquant le début de la plage de temps de récupération des événements de déploiement.

Par défaut : Il y a 7 jours.

START_TIME_RANGE_END => constant_expr

Horodatage (au format TIMESTAMP_LTZ) marquant la fin de la période de récupération des événements de déploiement.

Valeur par défaut : horodatage actuel.

RESULT_LIMIT => integer

Nombre maximum de lignes à renvoyer.

Par défaut : 10000.

Sortie

La fonction renvoie les colonnes suivantes :

Nom de la colonne

Type de données

Description

QUERY_UUID

VARCHAR

Identificateur unique de la requête qui a exécuté le déploiement.

PROJECT_NAME

VARCHAR

Nom du DCM project qui a été déployé.

START_TIMESTAMP

TIMESTAMP_LTZ

Horodatage du début de l’exécution du déploiement.

END_TIMESTAMP

TIMESTAMP_LTZ

Horodatage de la fin ou de l’échec de l’exécution du déploiement.

DEPLOYMENT_NAME

VARCHAR

Identificateur du déploiement interne (par exemple, DEPLOYMENT$1, DEPLOYMENT$2).

DEPLOYMENT_ALIAS

VARCHAR

Alias spécifié par l’utilisateur pour le déploiement. Vide si aucun alias n’a été fourni.

STATUS

VARCHAR

Résultat du déploiement. Valeurs possibles : SUCCESSFUL, FAILED, CANCELED.

PHASE

VARCHAR

La phase de l’exécution. Valeurs possibles : PLAN, DEPLOY, INIT.

CONFIGURATION_PROFILE

VARCHAR

Nom du profil de configuration utilisé pour le déploiement. Vide si aucune configuration n’a été spécifiée.

ERROR_MESSAGE

VARCHAR

Message d’erreur si le déploiement a échoué. Vide pour les déploiements réussis.

ERROR_CODE

VARCHAR

Code d’erreur si le déploiement a échoué. Vide pour les déploiements réussis.

DATABASE_NAME

VARCHAR

Base de données qui contient le DCM project.

SCHEMA_NAME

VARCHAR

Schéma qui contient le DCM project.

EXECUTOR_ROLE

VARCHAR

Rôle qui a exécuté la commande de déploiement.

STATS

VARIANT

Objet JSON contenant des statistiques récapitulatives sur le déploiement, réparties par catégorie. Chaque catégorie contient le nombre des éléments created, altered et dropped. Les catégories comprennent des entities (objets gérés),``columns``,``grants`` et des dmfAttachments (attentes de la fonction de métrique des données).

Notes sur l’utilisation

  • Lors de l’appel d’une fonction de table Information Schema, la session doit avoir un schéma INFORMATION_SCHEMA en cours d’utilisation ou le nom de la fonction doit être complet. Pour plus de détails, voir Schéma d’information de Snowflake.

Exemples

Récupérer l’historique de déploiement d’un projet spécifique, limité à 3 résultats :

SELECT
  PROJECT_NAME,
  START_TIMESTAMP,
  DEPLOYMENT_NAME,
  DEPLOYMENT_ALIAS,
  STATUS,
  CONFIGURATION_PROFILE,
  EXECUTOR_ROLE
FROM
  TABLE (MY_DB.INFORMATION_SCHEMA.DCM_DEPLOYMENT_HISTORY(
    project_name => 'MY_DB.PROJECTS.MY_PROJECT',
    result_limit => 3
  ));
+----------------+-----------------------------+--------------+------------------+------------+-----------------------+------------------+
| PROJECT_NAME   | START_TIMESTAMP             | DEPLOYMENT   | DEPLOYMENT       | STATUS     | CONFIGURATION_PROFILE | EXECUTOR_ROLE    |
|                |                             | _NAME        | _ALIAS           |            |                       |                  |
+----------------+-----------------------------+--------------+------------------+------------+-----------------------+------------------+
| MY_PROJECT     | 2026-03-20 09:15:22.254     | DEPLOYMENT$3 | staging update   | SUCCESSFUL | STAGE                 | PROJECT_DEPLOYER |
| MY_PROJECT     | 2026-03-19 14:30:10.927     | DEPLOYMENT$2 |                  | FAILED     | DEV                   | PROJECT_DEPLOYER |
| MY_PROJECT     | 2026-03-18 11:00:05.339     | DEPLOYMENT$1 | initial deploy   | SUCCESSFUL | DEV                   | PROJECT_DEPLOYER |
+----------------+-----------------------------+--------------+------------------+------------+-----------------------+------------------+

La colonne STATS contient un objet JSON avec la structure suivante :

{
  "columns": {
    "altered": 0,
    "created": 12,
    "dropped": 0
  },
  "dmfAttachments": {
    "altered": 0,
    "created": 2,
    "dropped": 0
  },
  "entities": {
    "altered": 1,
    "created": 5,
    "dropped": 0
  },
  "grants": {
    "altered": 0,
    "created": 4,
    "dropped": 0
  }
}

Récupérer toutes les colonnes de tous les projets accessibles par le rôle actuel au cours des 24 dernières heures :

SELECT *
FROM TABLE (INFORMATION_SCHEMA.DCM_DEPLOYMENT_HISTORY(
  start_time_range_start => DATEADD(hours, -24, CURRENT_TIMESTAMP())
));