Categorias:

Funções do Snowpark Container Services

<service_name>!SPCS_WAIT_FOR

Aguarda o Serviço Snowpark Container Services para atingir o estado especificado, com um tempo limite.

  • Ao executar um trabalho assíncrono, use esta função auxiliar para aguardar a conclusão do trabalho.

  • Ao criar um serviço, use esta função auxiliar para aguardar até que o serviço esteja em execução.

Consulte também:

Snowpark Container Services: como trabalhar com serviços

Sintaxe

<service_name>!SPCS_WAIT_FOR( <status>, <timeout_sec> );
Copy

Argumentos

Argumentos exigidos

'status'

Status a ser aguardado. Para obter uma lista de valores de status de serviço, consulte a seção de saída do comando DESCRIBE SERVICE.

timeout_sec

A duração máxima, em segundos, de espera pelo status especificado. Se o status especificado não for alcançado dentro do tempo limite, a função retorna uma mensagem de erro que inclui o status atual do serviço.

Retornos

Se o serviço não atingir o status especificado dentro do tempo limite ou o Snowflake determinar que o status nunca pode ser alcançado, a função retornará uma mensagem de erro que também fornece o status atual do serviço. Caso contrário, ele retorna uma mensagem de sucesso.

Requisitos de controle de acesso

Uma função usada para executar esse comando SQL deve ter pelo menos um dos seguintes privilégios, no mínimo:

Privilégio

Objeto

Notas

Qualquer um destes privilégios: OWNERSHIP, USAGE, MONITOR ou OPERATE

Serviço

O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema.

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.

Exemplos

Aguarde dois minutos para que o trabalho especificado seja concluído (o status do trabalho é DONE).

CALL my_job!spcs_wait_for('DONE', 120)
Copy

Aguarde três minutos para que o serviço especificado seja iniciado (o status do serviço é RUNNING).

CALL my_service!SPCS_WAIT_FOR('RUNNING', 180)
Copy