Catégories :

Fonctions Snowpark Container Services

<service_name>!SPCS_WAIT_FOR

Attend le service Snowpark Container Services pour atteindre l’état spécifié, avec un délai d’attente.

  • Lorsque vous exécutez une tâche asynchrone, utilisez cette fonction d’aide pour attendre que la tâche soit terminée.

  • Lorsque vous créez un service, utilisez cette fonction d’aide pour attendre que le service soit en cours d’exécution.

Voir aussi :

Snowpark Container Services : utilisation des tâches

Syntaxe

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

Arguments

Arguments requis

'status'

Statut à attendre. Pour une liste des valeurs de statut de service, voir la section de sortie de la commande DESCRIBE SERVICE.

timeout_sec

La durée maximale, en secondes, d’attente du statut spécifié. Si le statut spécifié n’est pas atteint dans le délai imparti, la fonction renvoie un message d’erreur qui inclut le statut actuel du service.

Renvoie

Si le service n’atteint pas le statut spécifié dans le délai imparti ou si Snowflake détermine que le statut ne peut jamais être atteint, la fonction renvoie un message d’erreur qui indique également le statut actuel du service. Sinon, il renvoie un message de réussite.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir au moins l’un des privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

N’importe lequel de ces privilèges : OWNERSHIP, USAGE, MONITOR ou OPERATE

Service

Le privilège USAGE relatif à la base de données et au schéma parents est exigé pour effectuer des opérations sur tout objet d’un schéma.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Exemples

Attendez deux minutes que la tâche spécifiée se termine (statut de la tâche : DONE).

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

Attendez trois minutes pour que le service spécifié démarre (statut du service : RUNNING).

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