snow snowpark deploy

プロジェクトで定義されたプロシージャと関数をデプロイします。プロジェクトをデプロイすると、そのプロジェクトで定義されているすべてのオブジェクトが変更されます。デフォルトでは、いずれかのオブジェクトがすでに存在する場合、 --replace フラグが指定されていない限り、コマンドは失敗します。必要なアーティファクトは、関数やプロシージャを作成する前に配置されます。依存関係は、定義で指定された各ステージに一度ずつ配備されます。

構文

snow snowpark deploy
  --replace
  --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
Copy

引数

なし

オプション

--replace

メタデータへの変更が検出されない場合でも、プロシージャまたは関数を置き換えます。デフォルト: false。

-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 snowpark deploy コマンドは次のことを実行します。

  • 配置用にリストされたオブジェクトがすでに存在するかどうかをチェックします。オブジェクトが存在する場合は、 --replace オプションを使用する必要があります。

  • 接続に指定されたデータベースにステージを作成します。ステージが定義されていない場合、コマンドは deployments という名前のステージを作成します。

  • ステージに app.zip ファイルをアップロードします。

  • SQL CREATE PROCEDURE または CREATE FUNCTION クエリを実行して、 snowflake.yml ファイルで指定されたオブジェクトを作成します。

このコマンドは、最新の構築からソースコードと依存関係をデプロイします。前回のビルド以降にコードを変更したり、要件を追加したりした場合は、新しいバージョンをデプロイする前に、 snow snowpark build コマンドを再度実行する必要があります。

次の例は、現在のディレクトリに関数とプロシージャをデプロイする方法を示しています。

snow snowpark deploy
Copy
+-----------------------------------------------------------------------------------+
| object                                             | type      | status           |
|----------------------------------------------------+-----------+------------------|
| MY_DATABASE.PUBLIC.HELLO_PROCEDURE(name string)    | procedure | packages updated |
| MY_DATABASE.PUBLIC.TEST_PROCEDURE()                | procedure | created          |
| MY_DATABASE.PUBLIC.HELLO_FUNCTION(name string)     | function  | packages updated |
+-----------------------------------------------------------------------------------+

次の例は、オブジェクトがすでに存在し、 --replace オプションを指定せずにデプロイした場合に何が起こるかを示しています。

snow snowpark deploy
Copy
╭─ Error ──────────────────────────────────────────────────────────╮
│ Following objects already exists. Consider using --replace.      |
│ function: MY_DATABASE.PUBLIC.HELLO_FUNCTION(string)              |
│ procedure: MY_DATABASE.PUBLIC.HELLO_PROCEDURE(string)            |
│ procedure: MY_DATABASE.PUBLIC.TEST_PROCEDURE()                   |
╰──────────────────────────────────────────────────────────────────╯