Criação do arquivo do manifesto para um aplicativo com contêineres¶
O tópico descreve os componentes do arquivo manifest.yml
em um Snowflake Native Apps with Snowpark Container Services. Para obter informações gerais sobre o arquivo manifest.yml
, consulte Criação do arquivo de manifesto para um pacote de aplicativo.
Especificação das imagens de contêiner usadas pelo aplicativo¶
Para especificar a localização das imagens de contêiner usadas pelo aplicativo com contêineres, adicione a propriedade images
para o bloco artifacts.container_services
.
Você deve incluir uma entrada para cada imagem. O caminho especificado inclui o nome do banco de dados, o esquema e o repositório de imagens. Este caminho tem o seguinte formato:
/<database>/<schema>/<image_repository>/<image_name>:tag
O exemplo a seguir mostra como especificar a propriedade images
:
artifacts
...
container_services
...
images
- /dev_db/dev_schema/dev_repo/image1
- /dev_db/dev_schema/dev_repo/image2
Especificação do ponto de extremidade da interface do usuário para um aplicativo¶
Para especificar o ponto de extremidade para a interface do usuário do aplicativo com contêineres, adicione a propriedade default_web_endpoint
para o bloco artifacts
.
A propriedade default_web_endpoint
é opcional. Se esta propriedade for especificada, o ponto de extremidade também deverá ser definido no arquivo de especificação de serviço.
Nota
Apenas um dos default_web_endpoint
e default_streamlit
pode ser especificado.
Esta entrada no arquivo de manifesto tem duas propriedades adicionais:
service
Especifica o nome do serviço da interface do usuário.
endpoint
Especifica o nome do ponto de extremidade.
O exemplo a seguir mostra como especificar a propriedade default_web_endpoint
.
default_web_endpoint:
service: ux_schema.ux_service
endpoint: ui
Especificação dos privilégios exigidos pelo aplicativo.¶
Assim como outros aplicativos, a propriedade references
do arquivo manifest.yml
especifica as referências que um aplicativo solicita dos consumidores. Os seguintes privilégios são específicos para um aplicativo com contêineres:
CREATE COMPUTE POOL
Este privilégio é necessário para permitir que o aplicativo crie um pool de computação na conta do consumidor. Não é necessário se o consumidor criar o pool de computação manualmente.
BIND SERVICE ENDPOINT
Este privilégio é necessário para permitir que um ponto de extremidade seja acessível fora do Snowflake.
O exemplo a seguir mostra como adicionar esses privilégios ao bloco 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.'
Exemplo de arquivo de manifesto para um aplicativo com contêineres¶
O Snowflake Native App Framework oferece suporte a entradas no arquivo de manifesto que são específicas para um aplicativo com contêineres. No exemplo a seguir, manifest.yml
mostra um arquivo de manifesto típico para um aplicativo com contêineres:
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: "...”