snow git execute¶
リポジトリパスからすべてのファイルを即時実行します。ファイルは、 @my_repo/branches/main/*.sql
、 @my_repo/branches/main/dev/*
のように、globのようなパターンでファイルをフィルターできます。.sql
または .py
の拡張子を持つファイルのみが実行されます。
構文¶
snow git execute <repository_path> --on-error <on_error> --variable <variables> --connection <connection> --host <host> --port <port> --account <account> --user <user> --password <password> --authenticator <authenticator> --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
引数¶
repository_path
スコープを指定したgitリポジトリのステージへのパス。リポジトリルートへのパスは「/」で終わる必要があります。例: @my_repo/branches/main/
オプション¶
--on-error [break|continue]
エラーが発生した場合の対処方法。デフォルトはbreakです。デフォルトはbreakです。
--variable, -D TEXT
実行コンテキスト用の変数。例:
-D "<key>=<value>"
。SQL ファイルの場合、変数はテンプレートを拡張するために使われ、いかなる不明の変数もエラーを引き起こします(ファイルに引用を埋め込むことをご検討ください)。Pythonファイルの場合、変数はos.environディクショナリを更新するために使われます。ベストプラクティスに従うため、提供されるキーは大文字で表記されます。SQL ファイルの場合、文字列値は''
で引用する必要があります(ファイル内に引用を埋め込むことをご検討ください)。--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 TEXT
Snowflake接続時に使用する OAuth トークン。
--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|JSON_EXT|CSV]
出力形式を指定します。デフォルト: TABLE
--verbose, -v
ログレベル
info
以上のログエントリを表示します。デフォルト: false。--debug
ログレベル
debug
以上のログ エントリを表示します。デバッグログには追加情報が含まれます。デフォルト: false。--silent
コンソールへの中間出力をオフにします。デフォルト: false。
--enhanced-exit-codes
終了エラーコードをエラーのタイプによって区別します。デフォルト: false。
--help
このコマンドのヘルプテキストを表示します。
使用上の注意¶
注釈
Snowflake CLI は Python バージョン 3.12 以上の Python ファイルの実行をサポートしていません。
@my_repo/branches/main/*.sql
および @my_repo/branches/main/dev/*
のように、globのようなパターンを使ってファイルをフィルタリングできます。このコマンドは、 .sql
拡張子を持つファイルのみを実行します。
SQL ファイルにJinjaテンプレートを使用する場合、 -D "<key>=<value>"
などの -D
または --variable)
オプションを使用してテンプレート変数を渡すことができます。文字列の値は一重引用符(''
)で囲む必要があります。
例¶
次の例は、 project
ディレクトリ内の正規表現に一致するすべてのファイルで SQL コマンドを実行する方法を示しています。
snow git execute "@git_test/branches/main/projects/script*.sql"
SUCCESS - git_test/branches/main/projects/script1.sql SUCCESS - git_test/branches/main/projects/script2.sql SUCCESS - git_test/branches/main/projects/script3.sql +---------------------------------------------------------------+ | File | Status | Error | |---------------------------------------------+---------+-------| | git_test/branches/main/projects/script1.sql | SUCCESS | None | | git_test/branches/main/projects/script2.sql | SUCCESS | None | | git_test/branches/main/projects/script3.sql | SUCCESS | None | +---------------------------------------------------------------+