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>
--format <format>
--verbose
--debug
--silent
引数¶
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
構成で定義された接続ではなく、コマンドラインパラメーターで定義された接続を使用します。デフォルト: false。
--mfa-passcode TEXT
多要素認証(MFA)に使用するトークン。
--enable-diag
Pythonコネクター診断テストを実行します。デフォルト: false。
--diag-log-path TEXT
診断レポートパス。デフォルト: <temporary_directory>
--diag-allowlist-path TEXT
オプションの許可リストへの診断レポートパス。
--format [TABLE|JSON]
出力形式を指定します。デフォルト: TABLE
--verbose, -v
ログレベル
info
以上のログエントリを表示します。デフォルト: false。--debug
ログレベル
debug
以上のログ エントリを表示します。デバッグログには追加情報が含まれます。デフォルト: false。--silent
コンソールへの中間出力をオフにします。デフォルト: 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"