- Categorias:
<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:
Sintaxe¶
<service_name>!SPCS_WAIT_FOR( <status>, <timeout_sec> );
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_secA 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 |
Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.
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)
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)