向 Snowflake Marketplace 提交应用程序的准则¶
本主题描述了向 Snowflake Marketplace 提交 Snowflake Native App 的标准。
准备提交 Snowflake 原生应用程序¶
当您的应用程序包准备好在 Snowflake Marketplace 上发布时,必须将其提交给 Snowflake 以进行审批。
备注
在 Snowflake Marketplace 上发布应用程序所需的审批流程不同于在应用程序包的 DISTRIBUTION
属性设置为 EXTERNAL
时运行的 自动化安全扫描。
在创建列表之前,请确认您了解 强制执行的要求,并确保您的应用程序包符合每项要求。如果应用程序包不符合这些要求,您的提交可能会遭到拒绝。
如果您收到针对所提交应用程序包的拒绝通知,请执行建议的更改,然后重新提交应用程序包以进行审批。
强制要求¶
当您提交应用程序包以获得批准并发布到 Snowflake Marketplace 时,将会验证以下要求:
应用程序包的 清单文件 中必须列出 Snowflake Native App 所需的所有账户级别权限和引用。
如果列表在清单文件的
security
部分包含账户级别权限或引用,并且应用程序包中包含 Streamlit 应用程序,则必须使用 Python Permission SDK 创建用户界面,以向使用者请求权限和引用。如果应用程序包未提供 Streamlit 应用程序作为应用程序的用户界面,则该应用程序包的
readme
文件必须包含以下信息:对应用程序功能的描述。
安装应用程序后,使用者为配置应用程序而必须执行的步骤。
应用程序使用的存储过程和用户定义的函数。
应用程序所需的权限。
向使用者展示如何使用应用程序的示例 SQL 命令。
如果
readme
文件包含 SQL 语句或代码示例,则必须使用代码块。尽可能使用单个多页式 Streamlit 应用程序,而不是多个单独的 Streamlit 应用程序。这包括多用户 Streamlit 应用程序等。
如果应用程序提供示例数据,则必须包括有关如何使用示例数据的过程,包括创建数据库所需的代码(如有必要)。
如果应用程序包包含 Streamlit 应用程序,但不包含
readme
文件,则必须 配置默认 Streamlit 应用程序。
发布 Snowflake Native App 时的最佳实践¶
除了向 Snowflake Marketplace 提交应用程序包的要求外,Snowflake 还建议在发布 Snowflake Native App 时采用以下最佳实践:
确保将所有必要的文件上传到您提交的应用程序版本的指定暂存区,包括:
manifest.yml
文件。安装脚本。
readme.md
文件。应用程序包需要的任何外部存储过程或用户定义的函数。
应用程序包需要的任何 Streamlit 文件。
任意外部源代码,包括 Python、Java 等。
确保您正在开发的应用程序版本通过 自动安全扫描。
使用 CREATE APPLICATION 命令,在本地创建应用程序对象,测试应用程序包的新版本。
在提交列表以进行审批之前,请先审查列表的所有部分。
确保列表、
readme
文件和 Streamlit 应用程序中没有拼写错误或其他文本错误。