snow app deploy¶
Snowflakeアカウントにアプリケーションパッケージを作成し、アプリケーションを作成または更新せずに、ローカルの変更をステージに同期します。 snow app deploy
のように、引数なしでこのコマンドを実行すると、 snow app deploy --prune --recursive
の省略形になります。
構文¶
snow app deploy
<paths>
--prune / --no-prune
--recursive / --no-recursive
--interactive / --no-interactive
--force
--validate / --no-validate
--package-entity-id <package_entity_id>
--app-entity-id <app_entity_id>
--project <project_definition>
--env <env_overrides>
--connection <connection>
--host <host>
--port <port>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-file <private_key_file>
--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
引数¶
paths...
ステージングにアップロードしたいファイルやディレクトリの、プロジェクトルートからの相対パス。パスは、snowflake.yml内のアーティファクトsrcパターンエントリのいずれかと一致する必要があります。ディレクトリが指定された場合、アーティファクトのsrcパターン・エントリに基づいて、配置するサブフォルダやファイルが検索されます。指定しない場合、コマンドはステージへのすべてのローカル変更を同期します。
オプション¶
--prune / --no-prune
指定されたファイルがローカルに存在しない場合にステージから削除するかどうか。設定されている場合、コマンドはステージ内に存在するがローカルファイルシステム内に存在しないファイルを削除します。パスが指定されている場合、このオプションは使用できない。
--recursive, -r / --no-recursive
サブディレクトリからファイルをトラバースしてデプロイするかどうか。設定されている場合、コマンドはすべてのファイルとサブディレクトリをデプロイします。それ以外の場合は、現在のディレクトリ内のファイルのみがデプロイされます。
--interactive / --no-interactive
このオプションを有効にすると、標準入力と出力が端末デバイスでない場合でも、プロンプトが表示されます。対話的なシェル環境ではTrue、それ以外ではFalseがデフォルトです。
--force
このオプションを有効にすると、コマンドは表示されるすべてのプロンプトを暗黙的に承認するようになります。インタラクティブモードが指定されておらず、潜在的に破壊的なアクションを実行する場合は、このオプションを有効にする必要があります。デフォルトでは設定されていません。デフォルト: False。
--validate / --no-validate
このオプションを有効にすると、デプロイされた Snowflake Native App のセットアップスクリプト SQL の検証がトリガーされます。デフォルト: True
--package-entity-id TEXT
definition_version が 2 以上の場合に操作するパッケージ・エンティティの ID 。
--app-entity-id TEXT
definition_version が 2 以上の場合に操作するアプリケーション・エンティティの ID 。
-p, --project TEXT
Snowflakeプロジェクトが保存されているパス。デフォルトは現在の作業ディレクトリです。
--env TEXT
key=value の形式の文字列。テンプレートに使用されたenvセクションの変数を上書きします。デフォルト: []
--connection, -c, --environment TEXT
config.toml
ファイルで定義されている接続の名前。デフォルト:デフォルト
--host TEXT
接続用のホストアドレス。接続に指定された値を上書きします。
--port INTEGER
接続のポート。接続に指定された値を上書きします。
--account, --accountname TEXT
Snowflakeアカウントに割り当てられた名前。接続に指定された値を上書きします。
--user, --username TEXT
Snowflakeに接続するユーザー名。接続に指定された値を上書きします。
--password TEXT
Snowflakeのパスワード。接続に指定された値を上書きします。
--authenticator TEXT
Snowflakeの認証コード。接続に指定された値を上書きします。
--private-key-file, --private-key-path TEXT
Snowflake プライベートキーファイルへのパス。接続に指定された値を上書きします。
--token-file-path TEXT
Snowflake接続時に使用する OAuth トークンを含むファイルへのパス。
--database, --dbname TEXT
使用するデータベース。接続に指定された値を上書きします。
--schema, --schemaname TEXT
使用するデータベーススキーマ。接続に指定された値を上書きします。
--role, --rolename TEXT
使用するロール。接続に指定された値を上書きします。
--warehouse TEXT
使用するウェアハウス名。接続に指定された値を上書きします。
--temporary-connection, -x
config で定義された接続ではなく、コマンドラインパラメーターで定義された接続を使用します。デフォルト: 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]
出力形式を指定します。デフォルト: TABLE
--verbose, -v
ログレベル
info
以上のログエントリを表示します。デフォルト: false。--debug
ログレベル
debug
以上のログ エントリを表示します。デバッグログには追加情報が含まれます。デフォルト: false。--silent
コンソールへの中間出力をオフにします。デフォルト: false。
--enhanced-exit-codes
終了エラーコードをエラーのタイプによって区別します。デフォルト: false。
--help
このコマンドのヘルプテキストを表示します。
使用上の注意¶
snow app deploy
コマンドは、Snowflakeアカウントにアプリケーションパッケージを作成し、コードファイルをそのステージにアップロードし、設定スクリプト SQL を認証し、 snowflake.yml
で定義されている何らかのデプロイ後フックを起動します。 snow app run コマンドとは異なり、このコマンドはアプリケーションオブジェクトをインストールまたはアップグレードしません。
リリースチャンネルを有効にしたアプリのデプロイに関する情報は、 リリースチャネルが有効なプロセス を参照してください。
例¶
ステージングされたファイルを使用してアプリケーションパッケージを作成する場合は、次のコマンドを実行できます。
cd my_app_project
my_app_project_build_script.sh
snow app deploy --connection="dev"