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:

SYSTEM$GET_JOB_STATUS , SYSTEM$GET_JOB_LOGS

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> [ , ... ] ) ]
Copy

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';
Copy