Créer le fichier manifeste pour une application avec des conteneurs¶
La rubrique décrit les éléments du fichier manifest.yml
dans un Snowflake Native Apps with Snowpark Container Services. Pour des informations générales sur le fichier manifest.yml
, voir Création du fichier manifeste d’un paquet d’application.
Spécifier les images de conteneurs utilisées par l’application¶
Pour spécifier l’emplacement des images de conteneurs utilisées par l’application avec conteneurs, ajoutez la propriété images
au bloc artifacts.container_services
.
Vous devez inclure une entrée pour chaque image. Le chemin spécifié comprend le nom de la base de données, du schéma et du référentiel d’images. Ce chemin a la forme suivante :
/<database>/<schema>/<image_repository>/<image_name>:tag
L’exemple suivant montre comment spécifier la propriété images
:
artifacts
...
container_services
...
images
- /dev_db/dev_schema/dev_repo/image1
- /dev_db/dev_schema/dev_repo/image2
Spécifier le point de terminaison de l’interface utilisateur pour une application¶
Pour spécifier le point de terminaison de l’interface utilisateur de l’application avec conteneurs, ajoutez la propriété default_web_endpoint
au bloc artifacts
.
La valeur default_web_endpoint
est facultative. Si cette propriété est spécifiée, le point de terminaison doit également être défini dans le fichier de spécification du service.
Note
Un seul des deux default_web_endpoint
et default_streamlit
peut être spécifié.
Cette entrée du fichier manifeste possède deux propriétés supplémentaires :
service
Spécifie le nom du service de l’interface utilisateur.
endpoint
Spécifie le nom du point de terminaison.
L’exemple suivant montre comment spécifier la propriété default_web_endpoint
.
default_web_endpoint:
service: ux_schema.ux_service
endpoint: ui
Déterminer les privilèges requis par l’application¶
Comme pour les autres applications, la propriété references
du fichier manifest.yml
spécifie les références qu’une application demande aux consommateurs. Les privilèges suivants sont spécifiques à une application avec des conteneurs :
CREATE COMPUTE POOL
Ce privilège est nécessaire pour permettre à l’appli de créer un pool de calcul dans le compte du consommateur. Il n’est pas nécessaire que le consommateur crée le pool de calcul manuellement.
BIND SERVICE ENDPOINT
Ce privilège est nécessaire pour permettre à un point de terminaison d’être accessible en dehors de Snowflake.
L’exemple suivant montre comment ajouter ces privilèges au bloc 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.'
Exemple de fichier manifeste pour une application avec des conteneurs¶
Le Snowflake Native App Framework prend en charge les entrées du fichier manifeste qui sont spécifiques à une application avec des conteneurs. L’exemple suivant manifest.yml
montre un fichier manifeste typique pour une application avec des conteneurs :
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: "...”