コンテナでアプリのマニフェストファイルを作成する¶
このトピックでは、 manifest.yml
内の Snowflake Native Apps with Snowpark Container Services ファイルのコンポーネントについて説明します。 manifest.yml
ファイルに関する一般的な情報については、 アプリケーションパッケージのマニフェストファイルを作成する をご参照ください。
アプリが使用するコンテナイメージを指定する¶
コンテナを使用したアプリで使用されるコンテナイメージの場所を指定するには、 images
ブロックに artifacts.container_services
プロパティを追加します。
イメージごとにエントリを含める必要があります。指定されたパスには、データベース、スキーマ、およびイメージリポジトリの名前が含まれます。このパスの形式は次のとおりです。
/<database>/<schema>/<image_repository>/<image_name>:tag
次の例は、 images
プロパティを指定する方法を示しています。
artifacts
...
container_services
...
images
- /dev_db/dev_schema/dev_repo/image1
- /dev_db/dev_schema/dev_repo/image2
アプリのユーザーインターフェイスエンドポイントを指定する¶
コンテナを使用したアプリのユーザーインターフェイスのエンドポイントを指定するには、 default_web_endpoint
プロパティを artifacts
ブロックに追加します。
default_web_endpoint
パラメーターはオプションです。このプロパティを指定する場合、エンドポイントもサービス仕様ファイルで定義する必要があります。
注釈
default_web_endpoint
および default_streamlit
のどちらか一方のみを指定できます。
マニフェストファイル内のこのエントリには、次の2つの追加プロパティがあります。
service
ユーザーインターフェイスのサービスの名前を指定します。
endpoint
エンドポイントの名前を指定します。
次の例は、 default_web_endpoint
プロパティを指定する方法を示しています。
default_web_endpoint:
service: ux_schema.ux_service
endpoint: ui
アプリに必要な権限を指定する¶
他のアプリと同様に、 manifest.yml
ファイルの references
プロパティは、アプリがコンシューマーに要求する参照を指定します。次の権限は、コンテナを使用したアプリに固有のものです。
CREATE COMPUTE POOL
この権限は、アプリがコンシューマーアカウントにコンピューティングプールを作成できるようにするために必要です。コンシューマーがコンピューティングプールを手動で作成する場合は必要ありません。
BIND SERVICE ENDPOINT
この権限は、Snowflakeの外部からエンドポイントにアクセスできるようにする場合に必要です。
次の例は、これらの権限を privileges
ブロックに追加する方法を示しています。
privileges:
- CREATE COMPUTE POOL
description: 'Required to allow the app to create a compute pool in the consumer account.'
- BIND SERVICE ENDPOINT
description: 'Required to allow endpoints to be externally accessible.'
コンテナを使用したアプリのマニフェストファイルの例¶
Snowflake Native App Framework は、コンテナを使用したアプリに固有のマニフェストファイル内のエントリをサポートします。次の例 manifest.yml
は、コンテナを使用したアプリの一般的なマニフェストファイルを示しています。
manifest_version: 1
version:
name: v1
artifacts:
readme: readme.md
setup_script: setup.sql
container_services:
images
- /dev_db/dev_schema/dev_repo/image1
- /dev_db/dev_schema/dev_repo/image2
default_web_endpoint:
service: ux_schema.ux_service
endpoint: ui
privileges:
- CREATE COMPUTE POOL
description: "...”
- BIND SERVICE ENDPOINT
description: "...”