カテゴリ:

Information Schemaテーブル関数

DCM_DEPLOYMENT_HISTORY

このテーブル関数は、DCM project オブジェクトのデプロイ履歴を返します。これを使用して、タイムスタンプ、ステータス、エラーの詳細、要約統計などを含む、成功したデプロイおよび失敗したデプロイをクエリできます。この関数は、ロールベースのアクセスと低レイテンシの結果を提供します。

構文

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

引数

引数はすべてオプションです。

PROJECT_NAME => 'string'

DCM project の完全修飾名。指定されていない場合、この関数は現在のロールがアクセスできるすべてのプロジェクトの履歴を返します。

START_TIME_RANGE_START => constant_expr

タイムスタンプ(TIMESTAMP_LTZ 形式)です。デプロイイベントを取得するための時間範囲の開始をマークします。

デフォルト:7日前。

START_TIME_RANGE_END => constant_expr

タイムスタンプ(TIMESTAMP_LTZ 形式)です。デプロイイベントを取得するための時間範囲の終了をマークします。

デフォルト:現在のタイムスタンプ。

RESULT_LIMIT => integer

返す行の最大数。

デフォルト: 10000

出力

この関数は、次の列を返します。

列名

データ型

説明

QUERY_UUID

VARCHAR

デプロイを実行したクエリの一意の識別子。

PROJECT_NAME

VARCHAR

デプロイされた DCM project の名前。

START_TIMESTAMP

TIMESTAMP_LTZ

デプロイの実行開始時のタイムスタンプ。

END_TIMESTAMP

TIMESTAMP_LTZ

デプロイの実行が完了または失敗したときのタイムスタンプ。

DEPLOYMENT_NAME

VARCHAR

内部デプロイ識別子(たとえば、DEPLOYMENT$1DEPLOYMENT$2)。

DEPLOYMENT_ALIAS

VARCHAR

デプロイのユーザー指定のエイリアス。エイリアスが指定されていない場合は空。

STATUS

VARCHAR

デプロイの結果。可能な値: SUCCESSFULFAILEDCANCELED

PHASE

VARCHAR

実行のフェーズ。可能な値: PLANDEPLOYINIT

CONFIGURATION_PROFILE

VARCHAR

デプロイに使用される構成プロファイルの名前。構成が指定されていない場合は空。

ERROR_MESSAGE

VARCHAR

デプロイが失敗した場合のエラーメッセージ。デプロイが成功した場合は空。

ERROR_CODE

VARCHAR

デプロイが失敗した場合のエラーコード。デプロイが成功した場合は空。

DATABASE_NAME

VARCHAR

DCM project を含むデータベース。

SCHEMA_NAME

VARCHAR

DCM project を含むスキーマ。

EXECUTOR_ROLE

VARCHAR

デプロイコマンドを実行したロール。

STATS

VARIANT

カテゴリごとに分類された、デプロイの要約統計を含む JSON オブジェクト。各カテゴリには、createdaltered、および dropped アイテムの数が含まれます。カテゴリには、entities``(管理オブジェクト)、``columnsgrants、および ``dmfAttachments``(データメトリック関数の期待値)が含まれます。

使用上の注意

  • 情報スキーマテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマまたは完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。

特定のプロジェクトのデプロイ履歴を取得し、結果を3つに制限します。

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 |
+----------------+-----------------------------+--------------+------------------+------------+-----------------------+------------------+

STATS 列には、次の構造を持つ JSON オブジェクトが含まれます。

{
  "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
  }
}

過去24時間以内に現在のロールによってアクセス可能なすべてのプロジェクトについてすべての列を取得します。

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