snow stage execute¶
ステージパスからすべてのファイルを即時実行します。@stage/*.sql 、 @stage/dev/* のように、globのようなパターンでファイルをフィルターすることができます。.sql 拡張子を持つファイルのみが実行されます。
構文¶
snow stage execute
<stage_path>
--on-error <on_error>
--variable <variables>
--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
引数¶
stage_path実行するファイルを含むステージパス。例えば
@stage/dev/*
オプション¶
--on-error [break|continue]エラーが発生した場合の対処方法。デフォルトはbreakです。デフォルトはbreakです。
--variable, -D TEXT実行コンテキスト用の変数。例:
-D "<key>=<value>"。SQL ファイルの場合、変数はテンプレートを拡張するために使われ、いかなる不明の変数もエラーを引き起こします(ファイルに引用を埋め込むことをご検討ください)。Pythonファイルの場合、変数はos.environディクショナリを更新するために使われます。ベストプラクティスに従うため、提供されるキーは大文字で表記されます。SQL ファイルの場合、文字列値は''で引用する必要があります(ファイル内に引用を埋め込むことをご検討ください)。--connection, -c, --environment TEXTconfig.tomlファイルで定義されている接続の名前。デフォルト:デフォルト--host TEXT接続用のホストアドレス。接続に指定された値を上書きします。
--port INTEGER接続のポート。接続に指定された値を上書きします。
--account, --accountname TEXTSnowflakeアカウントに割り当てられた名前。接続に指定された値を上書きします。
--user, --username TEXTSnowflakeに接続するユーザー名。接続に指定された値を上書きします。
--password TEXTSnowflakeのパスワード。接続に指定された値を上書きします。
--authenticator TEXTSnowflakeの認証コード。接続に指定された値を上書きします。
--workload-identity-provider TEXTワークロードIDプロバイダー(AWS、AZURE、GCP、OIDC)。接続に指定された値を上書きします。
--private-key-file, --private-key-path TEXTSnowflake プライベートキーファイルへのパス。接続に指定された値を上書きします。
--token TEXTSnowflake接続時に使用する OAuth トークン。
--token-file-path TEXTSnowflake接続時に使用する OAuth トークンを含むファイルへのパス。
--database, --dbname TEXT使用するデータベース。接続に指定された値を上書きします。
--schema, --schemaname TEXT使用するデータベーススキーマ。接続に指定された値を上書きします。
--role, --rolename TEXT使用するロール。接続に指定された値を上書きします。
--warehouse TEXT使用するウェアハウス名。接続に指定された値を上書きします。
--temporary-connection, -xconfig で定義された接続ではなく、コマンドラインパラメーターで定義された接続を使用します。デフォルト: false。
--mfa-passcode TEXT多要素認証(MFA)に使用するトークン。
--enable-diag接続診断レポートを作成するかどうか。デフォルト: false。
--diag-log-path TEXT生成されたレポートのパス。デフォルトはシステム仮ディレクトリです。デフォルト: <system_temporary_directory>.
--diag-allowlist-path TEXTallowlist パラメーターを含む JSON ファイルへのパス。
--oauth-client-id TEXTSnowflake統合のためにIDプロバイダーが提供するクライアントIDの値。
--oauth-client-secret TEXTSnowflake 統合用に ID プロバイダーが提供するクライアントシークレットの値。
--oauth-authorization-url TEXT認証コードをドライバーに提供する ID プロバイダーエンドポイント。
--oauth-token-request-url TEXTドライバーにアクセストークンを供給する ID プロバイダーのエンドポイント。
--oauth-redirect-uri TEXTURI 認証コードのリダイレクトに使用します。
--oauth-scope TEXTID プロバイダー承認リクエストで要求された範囲。
--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。
--helpこのコマンドのヘルプテキストを表示します。
使用上の注意¶
注釈
Snowflake CLI は Python バージョン 3.12 以上の Python ファイルの実行をサポートしていません。
このコマンドは、指定された
STAGE_PATH内で :codenowrap:EXECUTEIMMEDIATE拡張子を持つファイルを検索し、各ファイルに対してSTAGE_PATHを実行します。.sqlには次のものがあります。@scriptsのようなステージ名のみで、ステージからすべての.sqlファイルを実行します。dirディレクトリから.sqlファイルを実行する@scripts/dir/*などのglobのようなパターン。@scripts/script.sqlなどの直接ファイルパス。script.sqlからscriptsファイルのみを実行します。
--silent オプションは、ファイルの実行結果を含む中間メッセージを非表示にします。
SQL ファイルにJinjaテンプレートを使用する場合、 -D (または --variable)オプションを使用して、 -D "<key>=<value>" などのテンプレート変数を渡すことができます。
例¶
ステージ名のみを指定して、ステージ内のすべての
.sqlファイルを実行します。snow stage execute "@scripts"
SUCCESS - scripts/script1.sql SUCCESS - scripts/script2.sql SUCCESS - scripts/dir/script.sql +------------------------------------------+ | File | Status | Error | |------------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | | scripts/script2.sql | SUCCESS | None | | scripts/dir/script.sql | SUCCESS | None | +------------------------------------------+
dirディレクトリ内のすべての.sqlファイルを実行するには、globのようなパターンを指定します。snow stage execute "@scripts/dir/*"
SUCCESS - scripts/dir/script.sql +------------------------------------------+ | File | Status | Error | |------------------------+---------+-------| | scripts/dir/script.sql | SUCCESS | None | +------------------------------------------+
dirディレクトリ内の「script」で始まり、その後に1文字が続く.sqlファイルのみを実行するには、globのようなパターンを指定します。snow stage execute "@scripts/script?.sql"
SUCCESS - scripts/script1.sql SUCCESS - scripts/script2.sql +---------------------------------------+ | File | Status | Error | |---------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | | scripts/script2.sql | SUCCESS | None | +---------------------------------------+
--silentオプションで直接ファイルパスを指定します。snow stage execute "@scripts/script1.sql" --silent
+---------------------------------------+ | File | Status | Error | |---------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | +---------------------------------------+