指定应用程序所需的资源¶
本主题介绍如何使用 marketplace.yml
文件来声明 Snowflake Native App 的资源要求。
marketplace.yml
是一个配置文件,类似于应用程序的 manifest.yml
文件。在以下情况下,Snowflake 会使用此文件:
在
required_compute_pools
和connections
属性中指定的对象出现在 Snowsight 中的列表中。这可让使用者了解应用程序可能需要的资源。该文件有助于避免创建或使用不必要的资源,例如将应用程序包复制到使用者无法安装的区域。在使用者请求远程区域的列表之前,Snowflake 会确保使用者满足
marketplace.yml
文件中声明的资源需求。这有助于避免不必要的复制成本。在安装和升级应用程序之前,Snowsight 确保满足要求,以防止安装损坏/无法使用的应用程序或将正在运行的应用程序升级到无法使用的状态。
此可选文件必须位于应用程序根目录中,与 manifest.yml
文件同级。如果该文件不存在,则不会执行任何操作。
指定应用程序所需的计算池¶
以下示例显示如何指定应用程序特定版本所需的计算池资源:
required_compute_pools:
- HIGH_MEM_POOL_1:
label: "High memory pool"
description: "A compute pool for computational tasks."
compatible_instance_families:
- HIGHMEM_X64_M
- HIGHMEM_X64_L
在此示例中,required_compute_pools
是名为 HIGH_MEM_POOL_1
的计算池。
compatible_instance_families
属性指定为计算池预置的机器类型。您必须为每个计算池指定至少一个声明的值。有关更多信息,请参阅 CREATE COMPUTE POOL。
备注
如果 compatible_instance_families
属性缺失或值无效,版本创建会失败。
指定应用程序所需的外部端点¶
以下示例显示如何声明应用程序所需的外部端点:
connections:
- LAUNCH_DARKLY:
label: "Launch Darkly"
description: "Feature flag and configuration"
required: true
endpoints:
- "mobile.launchdarkly.com"
- "stream.launchdarkly.com"
- OPEN_AI:
label: "OpenAPI"
description: "LLM Connection"
required: false
endpoints:
- "openai.com"
在此示例中,connection
属性指定两个外部端点:LAUNCH_DARKLY
和 OPEN_AI
。required
属性向 Snowsight 中的使用者表明需要连接。
如果您在此文件中指定 connection
,则 endpoints
和 required
属性是必需的。如果这些属性不存在,版本创建会失败。endpoints
属性至少需要一个 URL。