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 文件中所定义。默认值:default

--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()                   |
╰──────────────────────────────────────────────────────────────────╯
语言: 中文