EXECUTE SERVICE¶
Importante
O recurso de trabalho do Snowpark Container Services está atualmente em versão preliminar privada e sujeito aos Termos de versão preliminar em https://snowflake.com/legal. Entre em contato com seu representante Snowflake para obter mais informações.
Inicia um trabalho do Snowpark Container Services. O trabalho é executado de forma síncrona; ele é concluído após a saída de todos os contêineres.
- Consulte também:
Sintaxe¶
EXECUTE SERVICE
IN COMPUTE POOL <compute_pool_name>
{
FROM @<stage>
SPECIFICATION_FILE = '<yaml_file_stage_path>'
|
FROM SPECIFICATION <specification_text>
}
[ EXTERNAL_ACCESS_INTEGRATIONS = ( <EAI_name> [ , ... ] ) ]
Parâmetros obrigatórios¶
IN COMPUTE POOL compute_pool_name
Especifica o nome do pool de computação na sua conta no qual o serviço será executado.
FROM stage
Especifica o estágio interno do Snowflake onde o arquivo de especificação está armazenado; por exemplo,
@tutorial_stage
.SPECIFICATION_FILE = 'yaml_file_stage_path'
Especifica o caminho para o arquivo de especificação de serviço no estágio; por exemplo,
'some-dir/echo_spec.yaml'
.FROM SPECIFICATION specification_text
Especifica a especificação de serviço. Você pode usar um par de cifrões (
$$
) para delimitar o início e o fim da cadeia de caracteres de especificação.
Parâmetros opcionais¶
EXTERNAL_ACCESS_INTEGRATIONS = ( EAI_name [ , ... ] )
Especifica os nomes das integrações de acesso externo que permitem que seu trabalho acesse sites externos. Os nomes nesta lista diferenciam maiúsculas de minúsculas. Por padrão, os contêineres de aplicativos não têm permissão para acessar a internet. Se você quiser permitir que seu trabalho acesse um site externo, crie uma integração de acesso externo (EAI) e configure seu trabalho para usar essa integração. Para obter mais informações, consulte Saída de rede.
Requisitos de controle de acesso¶
Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:
Privilégio |
Objeto |
Notas |
---|---|---|
USAGE |
Pool de computação |
|
READ |
Estágio |
Este é o estágio onde a especificação é armazenada. |
READ |
Repositório de imagens |
Repositório de imagens referenciadas pela especificação. |
Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
O ID de consulta retornado pelo comando EXECUTE SERVICE é um identificador exclusivo para o trabalho do Snowpark Container Services.
Você pode usar este ID para recuperar o status do trabalho (SYSTEM$GET_JOB_STATUS) ou registros de um contêiner de trabalho (SYSTEM$GET_JOB_LOGS) enquanto o trabalho está em andamento.
Observe que você pode chamar a função LAST_QUERY_ID imediatamente após executar o comando EXECUTE SERVICE para capturar o ID do trabalho de consulta para referência posterior. Você também pode usar a interface da web Snowsight para localizar o ID de consulta do trabalho.
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Exemplos¶
Crie um trabalho do Snowpark Container Services:
EXECUTE SERVICE
IN COMPUTE POOL tutorial_compute_pool
FROM @tutorial_stage
SPECIFICATION_FILE='my_job_spec.yaml';