snow dcm deploy

定義ファイルに一致するようにオブジェクトを作成、変更、またはドロップすることで、ローカルプロジェクトの変更をSnowflakeに展開します。

構文

snow dcm deploy
  <identifier>
  --from <from_location>
  --variable <variables>
  --alias <alias>
  --target <target>
  --save-output
  --connection <connection>
  --host <host>
  --port <port>
  --account <account>
  --user <user>
  --password <password>
  --authenticator <authenticator>
  --workload-identity-provider <workload_identity_provider>
  --private-key-file <private_key_file>
  --token <token>
  --token-file-path <token_file_path>
  --database <database>
  --schema <schema>
  --role <role>
  --warehouse <warehouse>
  --temporary-connection
  --mfa-passcode <mfa_passcode>
  --enable-diag
  --diag-log-path <diag_log_path>
  --diag-allowlist-path <diag_allowlist_path>
  --oauth-client-id <oauth_client_id>
  --oauth-client-secret <oauth_client_secret>
  --oauth-authorization-url <oauth_authorization_url>
  --oauth-token-request-url <oauth_token_request_url>
  --oauth-redirect-uri <oauth_redirect_uri>
  --oauth-scope <oauth_scope>
  --oauth-disable-pkce
  --oauth-enable-refresh-tokens
  --oauth-enable-single-use-refresh-tokens
  --client-store-temporary-credential
  --format <format>
  --verbose
  --debug
  --silent
  --enhanced-exit-codes
  --decimal-precision <decimal_precision>

引数

identifier

DCMプロジェクトの識別子。例: MY_DB.MY_SCHEMA.MY_PROJECT。完全修飾(推奨)または単純な名前をサポートします。修飾されていない場合は、接続のデータベースおよびスキーマがデフォルトとして使用されます。マニフェストで`--target`または`default_target`が定義されている場合は省略可能です。

オプション

--from PATH

DCMプロジェクトファイルを含むローカルディレクトリのパス。現在のディレクトリを使用する場合は省略します。

--variable, -D TEXT

実行コンテキスト用の変数(例: -D "<key>=<value>")。

--alias TEXT

デプロイメントのエイリアス。

--target TEXT

`manifest.yml`から使用するターゲットプロファイル。指定されていない場合は、`default_target`が使用されます。

--save-output

コマンドの応答とアーティファクトをローカルの「out/」ディレクトリに保存します。デフォルト:False。

--connection, -c, --environment TEXT

config.toml ファイルで定義されている接続の名前。デフォルト: デフォルト

--host TEXT

接続用のホストアドレス。接続に指定された値を上書きします。

--port INTEGER

接続のポート。接続に指定された値を上書きします。

--account, --accountname TEXT

Snowflakeアカウントに割り当てられた名前。接続に指定された値を上書きします。

--user, --username TEXT

Snowflakeに接続するユーザー名。接続に指定された値を上書きします。

--password TEXT

Snowflakeのパスワード。接続に指定された値を上書きします。

--authenticator TEXT

Snowflakeの認証コード。接続に指定された値を上書きします。

--workload-identity-provider TEXT

ワークロードIDプロバイダー(AWS、AZURE、GCP、OIDC)。接続に指定された値を上書きします。

--private-key-file, --private-key-path TEXT

Snowflake プライベートキーファイルへのパス。接続に指定された値を上書きします。

--token TEXT

Snowflake接続時に使用する OAuth トークン。

--token-file-path TEXT

Snowflake接続時に使用する OAuth トークンを含むファイルへのパス。

--database, --dbname TEXT

使用するデータベース。接続に指定された値を上書きします。

--schema, --schemaname TEXT

使用するデータベーススキーマ。接続に指定された値を上書きします。

--role, --rolename TEXT

使用するロール。接続に指定された値を上書きします。

--warehouse TEXT

使用するウェアハウス名。接続に指定された値を上書きします。

--temporary-connection, -x

構成で定義された接続ではなく、コマンドラインパラメーターで定義された接続を使用します。デフォルト:False。

--mfa-passcode TEXT

多要素認証(MFA)に使用するトークン。

--enable-diag

接続診断レポートを作成するかどうか。デフォルト: false。

--diag-log-path TEXT

生成されたレポートのパス。デフォルトはシステム仮ディレクトリです。デフォルト: <system_temporary_directory>.

--diag-allowlist-path TEXT

allowlist パラメーターを含む JSON ファイルへのパス。

--oauth-client-id TEXT

Snowflake統合のためにIDプロバイダーが提供するクライアントIDの値。

--oauth-client-secret TEXT

Snowflake 統合用に ID プロバイダーが提供するクライアントシークレットの値。

--oauth-authorization-url TEXT

認証コードをドライバーに提供する ID プロバイダーエンドポイント。

--oauth-token-request-url TEXT

ドライバーにアクセストークンを供給する ID プロバイダーのエンドポイント。

--oauth-redirect-uri TEXT

URI 認証コードのリダイレクトに使用します。

--oauth-scope TEXT

ID プロバイダー承認リクエストで要求された範囲。

--oauth-disable-pkce

コード交換の証明キー (PKCE) を無効にします。デフォルト:False

--oauth-enable-refresh-tokens

実際のアクセストークンが古くなった場合に、サイレント再認証コードを有効にします。デフォルト:False

--oauth-enable-single-use-refresh-tokens

シングルユース・更新・トークンのセマンティクスにオプトインするかどうか。デフォルト:False

--client-store-temporary-credential

仮認証情報を保存します。

--format [TABLE|JSON| JSON_EXT|CSV]

出力形式を指定します。デフォルト: TABLE

--verbose, -v

ログレベル info 以上のログエントリを表示します。デフォルト: false。

--debug

ログレベル debug 以上のログ エントリを表示します。デバッグログには追加情報が含まれます。デフォルト: false。

--silent

コンソールへの中間出力をオフにします。デフォルト: false。

--enhanced-exit-codes

終了エラーコードをエラーのタイプによって区別します。デフォルト: false。

--decimal-precision INTEGER

10進数に表示する小数位の桁数。指定がない場合は、Pythonのデフォルト精度を使用します。 [env var: SNOWFLAKE_DECIMAL_PRECISION] 。

--help

このコマンドのヘルプテキストを表示します。

使用上の注意

:codenowrap:`snow dcm deploy`コマンドは、定義ファイルと一致するようにオブジェクトを作成、変更、またはドロップすることにより、ローカルプロジェクトの変更をSnowflakeに展開します。

|dcm-object|を展開するとき、次のアクションが実行されます。

  • 定義されているがまだ存在しないオブジェクトは作成されます。

  • 既に存在するが現在の定義と異なるオブジェクトは変更されます。

  • すでに存在し、状態と定義に違いがないオブジェクトは変更されません。

  • すでに存在するが定義されなくなったオブジェクトはドロップされます。

  • 以前から存在し、その定義が最近|dcm-object|に追加されたオブジェクトは、この|dcm-object|によって管理されるオブジェクトに追加されます。

注釈

このコマンドは、ローカルのソースSQLファイルを自動的にSnowflakeの一時ステージにアップロードし、その内容が操作の最終結果に反映されるようにします。

デプロイメント結果をローカルの:file:out/deploy.json`ファイルに保存するには、:codenowrap:--save-output`オプションを使用します。

展開プロセスについて詳しくは、:ref:`label-dcm_projects_deploy`を参照してください。

  • マニフェストの:codenowrap:`default_target`プロパティで識別されるターゲットにプロジェクト名が指定されている状態で、デフォルトのオプションを使用して|dcm-object|オブジェクトを展開します。

    snow dcm deploy
    
  • プロジェクト名がマニフェストの:codenowrap:`DEV`ターゲットで指定されている|dcm-object|オブジェクトを展開します。

    snow dcm deploy --target DEV
    
  • 明示的な完全修飾名を使用して|dcm-object|オブジェクトを展開します。

    snow dcm deploy MY_DB.MY_SCHEMA.MY_PROJECT
    
  • プロジェクト名がマニフェストの:codenowrap:`DEV`ターゲットで指定されている|dcm-object|プロジェクトを展開し、:codenowrap:`db_name`変数の値を指定して、デプロイメントエイリアスを:codenowrap:`v3`に設定します。

    snow dcm deploy --target DEV --variable db_name=jdoe --alias v3
    
  • 特定のディレクトリから|dcm-object|オブジェクトを展開し、出力を保存します。

    snow dcm deploy --from /path/to/project --save-output