Snowparkプロジェクトのデプロイ

snow snowpark deploy コマンドは、指定されたステージにローカルファイルをアップロードし、プロジェクトで定義されたプロシージャと関数オブジェクトを作成します。プロジェクトをデプロイすると、そのプロジェクトで定義されているすべてのオブジェクトが変更されます。デフォルトでは、オブジェクトが既に存在する場合、 --replace オプションを指定しない限り、コマンドは失敗します。デプロイされたすべてのオブジェクトは、一度だけアップロードされる同じアーティファクトを使用します。

snow snowpark deploy
Copy
+-------------------------------------------------------------+
| object                       | type      | status           |
|------------------------------+-----------+------------------|
| hello_procedure(name string) | procedure | created          |
| test_procedure()             | procedure | packages updated |
| hello_function(name string)  | function  | created          |
+-------------------------------------------------------------+

snow snowpark deployを実行すると、コマンドにより次が実行されます。

  1. Snowflake CLI は、定義されたオブジェクト(関数やプロシージャ)が既に存在するかどうかをチェックします。

  2. オブジェクトが存在し、 --replace フラグが指定されていない場合、コマンドは終了します。このアプローチの背景には、既存のオブジェクトへの意図しない変更を避けることで、「本番環境での安全」を実現するという理由があります。

  3. すべてのオブジェクトが存在しないか、 --replace が指定されている場合、コマンドは次を実行します。

    1. 新しいzipアーティファクトをアップロードする。

    2. 各プロシージャの定義を更新する。

    3. すべての関数の定義を更新する。