snow streamlit deploy¶
部署在项目定义文件 (snowflake.yml) 中定义的 Streamlit 应用程序。默认情况下,该命令会上传 environment.yml 以及任何其他页面或文件夹(如果存在)。如果未指定暂存区名称,则使用 streamlit
暂存区。如果指定的暂存区不存在,则命令将创建它。如果在 snowflake.yml 中定义了多个 Streamlit,但未提供任何 entity_id,则命令将引发错误。
语法¶
snow streamlit deploy
<entity_id>
--replace
--prune / --no-prune
--open
--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>
--oauth-client-id <oauth_client_id>
--oauth-client-secret <oauth_client_secret>
--oauth-authorization-url <oauth_authorization_url>
--oauth-token-request-url <oauth_token_request_url>
--oauth-redirect-uri <oauth_redirect_uri>
--oauth-scope <oauth_scope>
--oauth-disable-pkce
--oauth-enable-refresh-tokens
--oauth-enable-single-use-refresh-tokens
--client-store-temporary-credential
--format <format>
--verbose
--debug
--silent
--enhanced-exit-codes
实参¶
entity_id
Streamlit 实体的 ID。
选项¶
--replace
如果 Streamlit 应用程序已存在,请将其替换。它仅上传新文件并覆盖现有文件,但不会移除暂存区上已有的任何文件。默认值:False。
--prune / --no-prune
删除暂存区中存在但本地文件系统中不存在的文件。默认值:False。
--open
是否在浏览器中打开 Streamlit 应用程序。默认值: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
是否生成连接诊断报告。默认值:False。
--diag-log-path TEXT
生成的报告的路径。默认为系统临时目录。默认:<system_temporary_directory>。
--diag-allowlist-path TEXT
包含允许列表参数的 JSON 文件的路径。
--oauth-client-id TEXT
身份提供商为 Snowflake 集成提供的客户端 ID 的值。
--oauth-client-secret TEXT
身份提供商为 Snowflake 集成提供的客户端密钥的值。
--oauth-authorization-url TEXT
向驱动程序提供授权码的身份提供商端点。
--oauth-token-request-url TEXT
向驱动程序提供访问令牌的身份提供商端点。
--oauth-redirect-uri TEXT
URI 用于授权码重定向。
--oauth-scope TEXT
身份提供商授权请求中请求的范围。
--oauth-disable-pkce
禁用代码交换证明密钥 (PKCE)。默认值:
False
。--oauth-enable-refresh-tokens
在实际访问令牌过期时启用静默重新身份验证。默认值:
False
。--oauth-enable-single-use-refresh-tokens
是否选择启用一次性刷新令牌语义。默认值:
False
。--client-store-temporary-credential
存储临时凭据。
--format [TABLE|JSON]
指定输出格式。默认:TABLE。
--verbose, -v
显示日志级别
info
及更高级别的日志条目。默认值:False。--debug
显示日志级别
debug
及更高级别的日志条目;调试日志包含其他信息。默认值:False。--silent
关闭到控制台的中间输出。默认值:False。
--enhanced-exit-codes
根据错误类型区分退出错误代码。默认值:False。
--help
显示此命令的帮助文本。
使用说明¶
此命令会在在指定的 connection
中配置的数据库和架构中创建一个 Streamlit 应用程序对象。
该命令将本地文件上传到指定暂存区,并使用这些文件创建 Streamlit 应用程序。您必须指定主 Python 文件和查询仓库。默认情况下,该命令会上传 environment.yml
和 pages/
文件夹(如果存在)。Streamlit 应用程序是在在指定 connection
中配置的数据库和架构中创建的。
如果未指定暂存区名称,则会使用 streamlit
暂存区。如果指定的暂存区不存在,则命令将创建它。您可以使用 命令行选项 来修改此行为。
如果指定 --replace
选项,该命令将上传新文件并覆盖现有文件。它不会移除暂存区上已有的任何文件。
如果您指定 --prune
选项,该命令将删除暂存区中存在的文件,但不会删除本地文件系统中的文件。
示例¶
snow streamlit deploy demo_app --replace
Streamlit successfully deployed and available under https://app.snowflake.cn/myorg/myacc/#/streamlit-apps/JDOE.PUBLIC.DEMO_APP