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
Copy

实参

选项

--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
    
    Copy
  • 将版本 v1 和补丁 2 发布到 ALPHA 发布通道的 customers_group_1 发布指令:

    snow app publish --version v1 --patch 2 --channel ALPHA --directive customers_group_1
    
    Copy
  • 将版本 v1 和补丁 2 发布到 QA 发布通道的默认发布指令:

    snow app publish --version v1 --patch 2 --channel QA
    
    Copy
  • 创建一个新版本并将其发布到默认发布通道的自定义 early_adopters 发布指令:

    snow app publish --version v2 --create-version --directive early_adopters
    
    Copy
  • 将补丁添加到现有版本并将其发布到默认发布通道的默认发布指令。您必须使用 --create-version 并提供补丁号,或省略补丁号以使用下一个可用的补丁号:

    snow app publish --version v2 --create-version
    
    Copy
  • 根据暂存区内容创建新补丁,而无需先将文件同步到暂存区,并将其发布到默认发布通道的默认发布指令:

    snow app publish --version v2 --patch 11 --create-version --from-stage
    
    Copy
语言: 中文