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>
  --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
Copy

引数

stage_path

実行するファイルを含むステージパス。例えば @stage/dev/*

オプション

--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-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

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

使用上の注意

  • このコマンドは、指定された 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"
    
    Copy
    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/*"
    
    Copy
    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"
    
    Copy
    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
    
    Copy
    +---------------------------------------+
    | File                | Status  | Error |
    |---------------------+---------+-------|
    | scripts/script1.sql | SUCCESS | None  |
    +---------------------------------------+