snow app publish¶
将版本添加到发布通道,并使用新版本和补丁更新发布指令。
语法¶
snow app publish
--version <version>
--patch <patch>
--channel <channel>
--directive <directive>
--interactive / --no-interactive
--force
--create-version
--from-stage
--label <label>
--package-entity-id <package_entity_id>
--app-entity-id <app_entity_id>
--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
实参¶
无
选项¶
--version TEXT
要发布到所提供的发布通道和发布指令的版本。除非使用
--create-version
标志,否则版本必须存在。--patch INTEGER
给定版本下的补丁编号。这将在设置发布指令时使用。除非使用
--create-version
标志,否则补丁必须存在。--channel TEXT
要发布到的发布通道的名称。如果未提供,则使用默认发布通道。默认:DEFAULT。
--directive TEXT
使用指定版本和补丁进行更新的发布指令的名称。如果未提供,则使用默认的发布指令。默认:DEFAULT。
--interactive / --no-interactive
启用此选项后,即使标准输入和输出不是终端设备,也会显示提示。在交互式 shell 环境中默认值为 True,否则为 False。
--force
启用此选项后,命令会隐式批准出现的任何提示。如果未指定交互模式,并且想要执行可能具有破坏性的操作,则应启用此选项。默认为未设置。默认值:False。
--create-version
根据提供的
--version
和--patch
值创建新的版本或补丁。如果未提供,则回退到清单值。默认值:False。--from-stage
启用后,Snowflake CLI 会从当前应用程序包暂存区创建版本,而无需先同步到该暂存区。只能与
--create-version
标志结合使用。默认值:False。--label TEXT
显示给使用者的版本的标签。只能与
--create-version
标志结合使用。--package-entity-id TEXT
当 definition_version 为 2 或更高时,要操作的包实体的 ID。
--app-entity-id TEXT
当 definition_version 为 2 或更高时,要操作的应用程序实体的 ID。
-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 app publish
命令,可以将 Snowflake Native App 版本添加到发布通道中,然后将选定的发布指令设置为使用提供的版本和补丁。
有关发布通道和发布指令的更多信息,请参阅 向客户发布 Snowflake Native App。
备注
发布通道功能可能并非在所有地区都可用。有关更多信息,请联系 Snowflake 支持部门。
如果发布通道功能不可用,可以忽略此命令的 --channel
参数。
此命令将指定版本添加到发布通道。如果发布通道已达到其最大版本数,则没有任何发布指令引用的最早版本将从发布通道中移除。将版本添加到发布通道后,发布通道内的发布指令将更新为使用提供的版本和补丁。
如果未为应用程序包启用发布通道,则仅将发布指令更新为使用提供的版本和补丁。如果未提供发布通道,或者使用默认发布通道时,无论是否启用了发布通道,都可以使用相同的命令。
此命令假定应用程序包中已存在版本和补丁。如果版本和补丁不存在,则该命令失败。
要在使用此命令时创建新的版本或补丁,请使用 --create-version
选项。通过使用此选项,您可以使用 --from-stage
或 --label
等选项。有关更多信息,另请参阅 snow app version create 命令。
创建新版本的规则与 snow app version create 命令的规则相同。换句话说,如果缺少版本字段,Snowflake CLI 会对清单文件使用相同的回退逻辑。
示例¶
将版本 v1 和补丁 2 发布到默认发布通道的默认发布指令或包中的默认发布指令。在以下示例中,未启用发布通道:
snow app publish --version v1 --patch 2
将版本 v1 和补丁 2 发布到 ALPHA 发布通道的
customers_group_1
发布指令:snow app publish --version v1 --patch 2 --channel ALPHA --directive customers_group_1
将版本 v1 和补丁 2 发布到 QA 发布通道的默认发布指令:
snow app publish --version v1 --patch 2 --channel QA
创建一个新版本并将其发布到默认发布通道的自定义
early_adopters
发布指令:snow app publish --version v2 --create-version --directive early_adopters
将补丁添加到现有版本并将其发布到默认发布通道的默认发布指令。您必须使用
--create-version
并提供补丁号,或省略补丁号以使用下一个可用的补丁号:snow app publish --version v2 --create-version
根据暂存区内容创建新补丁,而无需先将文件同步到暂存区,并将其发布到默认发布通道的默认发布指令:
snow app publish --version v2 --patch 11 --create-version --from-stage