アプリに必要なリソースを指定する¶
このトピックでは、 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
プロパティは、コンピューティングプールにプロビジョニングするマシンのタイプを指定します。各コンピューティングプールに対して宣言された値を少なくとも1つ指定する必要があります。詳細については、 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
という2つの外部エンドポイントを指定しています。 required
プロパティは、 Snowsight 内のコンシューマーに接続が必要であることを示します。
このファイルで connection
を指定すると、 endpoints
、 required
プロパティが必要になります。これらのプロパティが存在しない場合、バージョンの作成は失敗します。 endpoints
プロパティには、少なくとも1つの URL が必要です。