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 が指定されている場合、コマンドは次を実行します。

    • --prune フラグが指定された場合、定義されたプロシージャと関数オブジェクトによって使用されたステージの以前の内容はすべて削除されます。

    • 新しいzipアーティファクトをアップロードします。

    • 各プロシージャの定義を更新します。

    • 各関数の定義を更新します。