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
实参¶
无
选项¶
--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
+-----------------------------------------------------------------------------------+
| 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
╭─ 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() |
╰──────────────────────────────────────────────────────────────────╯