部署 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 工件。

    • 更新每个过程的定义。

    • 更新每个函数的定义。

语言: 中文