向 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 命令,在本地创建应用程序对象,测试应用程序包的新版本。

    • 开发和测试应用程序时,请勿向应用程序包添加新版本或将 DISTRIBUTION 属性设置为 EXTERNAL。这些操作将触发 自动安全扫描,而这会延误开发周期。

      您应改为使用 命名暂存区上的文件 创建应用程序对象。

    • 如果应用程序包含 Streamlit 应用程序,请在 Snowsight 中测试该应用程序,以确保 Streamlit 应用程序按预期运行。

    • 确认 Streamlit 应用程序与 Snowflake Worksheets 之间的交互是无缝的,并且使用者不必过度地在两者之间切换。

  • 在提交列表以进行审批之前,请先审查列表的所有部分。

  • 确保列表、readme 文件和 Streamlit 应用程序中没有拼写错误或其他文本错误。

语言: 中文