アプリに必要なリソースを指定する¶
このトピックでは、 marketplace.yml ファイルを使用して、 Snowflake Native App のリソース要件を宣言する方法について説明します。
marketplace.yml は、アプリのマニフェストファイルに似た構成ファイルです。Snowflakeはこのファイルを次のコンテキストで使用します。
required_compute_poolsおよびconnectionsのプロパティで指定されたオブジェクトは、 Snowsight のリストに表示されます。これにより、コンシューマーはアプリに必要なリソースを確認できます。このファイルは、たとえば、コンシューマーがインストールできないリージョンにアプリケーションパッケージを複製するなど、不要なリソースの作成や使用を回避するのに役立ちます。コンシューマーがリモートリージョンのリストを要求する前に、Snowflakeはコンシューマーが
marketplace.ymlファイルで宣言されたリソース要件を満たしていることを確認します。これにより、不要な複製コストを防ぐことができます。アプリケーションをインストールおよびアップグレードする前に、 Snowsight は要件が満たされていることを確認し、壊れた/使用できないアプリケーションのインストールや、動作中のアプリケーションを使用できない状態にアップグレードすることを防ぎます。
このオプションのファイルは、マニフェストファイルと同じレベルのアプリのルートディレクトリに配置する必要があります。このファイルが存在しない場合は、アクションは何も実行されません。
アプリに必要なコンピューティングプールを指定する¶
次の例は、特定のバージョンのアプリに必要なコンピューティングプールリソースを指定する方法を示しています。
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 が必要です。