snow app deploy

在您的 Snowflake 账户中创建应用程序包,并在不创建或更新应用程序的情况下将本地变更同步到暂存区。像 snow app deploy 中一样,在完全没有实参的情况下运行此命令是的 snow app deploy --prune --recursive 简写。

语法

snow app deploy
  <paths>
  --prune / --no-prune
  --recursive / --no-recursive
  --interactive / --no-interactive
  --force
  --validate / --no-validate
  --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

实参

paths...

要上传到暂存区的文件或目录相对于项目根的路径。如果指定了文件,则该文件必须与 snowflake.yml 中的一个工件 src 模式条目相匹配。如果指定了目录,则将根据工件 src 模式条目搜索要部署的子文件夹或文件。如果未指定,则该命令会将所有本地变更同步到暂存区。

选项

--prune / --no-prune

是否从暂存区删除指定的文件(如果它们在本地不存在)。如果设置,该命令将删除暂存区中存在但本地文件系统中不存在的文件。指定路径时,不能使用此选项。

--recursive, -r / --no-recursive

是否遍历和部署子目录中的文件。如果设置,则该命令将部署所有文件和子目录;若果不设置,则仅部署当前目录中的文件。

--interactive / --no-interactive

启用此选项后,即使标准输入和输出不是终端设备,也会显示提示。在交互式 shell 环境中默认值为 True,否则为 False。

--force

启用此选项后,命令会隐式批准出现的任何提示。如果未指定交互模式,并且想要执行可能具有破坏性的操作,则应启用此选项。默认为未设置。默认值:False。

--validate / --no-validate

启用后,此选项将触发已部署的 Snowflake Native App 安装脚本 SQL 的验证。默认值:True。

--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 deploy 命令在您的 Snowflake 账户中创建应用程序包,将代码文件上传到账户的暂存区,验证安装脚本 SQL,并运行 snowflake.yml 中定义的所有部署后 hook。与 snow app run 命令不同,此命令不安装或升级应用程序对象。

示例

如果要使用暂存文件创建应用程序包,则可以执行:

cd my_app_project
my_app_project_build_script.sh
snow app deploy --connection="dev"
Copy
语言: 中文