Catégories :

Fonctions système (Informations système)

SYSTEM$PIPE_STATUS

Récupère une représentation JSON du statut actuel d’un canal.

Pour plus d’informations, voir Chargement en continu à l’aide de Snowpipe.

Syntaxe

SYSTEM$PIPE_STATUS( '<pipe_name>' )

Arguments

nom_canal

Canal pour lequel vous voulez récupérer le statut actuel.

Notes sur l’utilisation

  • nom_canal est une chaîne, elle doit donc être placée entre guillemets simples :

    • Notez que le nom complet doit être placé entre guillemets simples, y compris la base de données et le schéma (si le nom est complètement qualifié), c’est-à-dire '<bd>.<schéma>.<nom_canal>'.

    • Si le nom du canal est sensible à la casse ou inclut des caractères spéciaux ou des espaces, des guillemets doubles sont nécessaires pour traiter la casse / les caractères. Les guillemets doubles doivent être placés entre guillemets simples, c’est-à-dire '"<nom_canal>"'.

Sortie

La fonction renvoie un objet JSON contenant les paires nom/valeur suivantes (si applicable au statut actuel du canal) :

{« executionState »: »<valeur> », »oldestFileTimestamp »:<valeur>, »pendingFileCount »:<valeur>, »notificationChannelName »: »<valeur> », »numOutstandingMessagesOnChannel »:<valeur>, »lastReceivedMessageTimestamp »: »<valeur> », »lastForwardedMessageTimestamp »: »<valeur> », »error »:<valeur>, »fault »:<valeur>}

Où :

executionState

État d’exécution actuel du canal ; pourrait être l’un des éléments suivants :

  • RUNNING (c’est-à-dire que tout est normal ; Snowflake peut ou non traiter activement les fichiers de ce canal)

  • STOPPED_FEATURE_DISABLED

  • STOPPED_STAGE_DROPPED

  • STOPPED_FILE_FORMAT_DROPPED

  • STOPPED_MISSING_PIPE

  • STOPPED_MISSING_TABLE

  • STALLED_COMPILATION_ERROR

  • STALLED_INITIALIZATION_ERROR

  • STALLED_EXECUTION_ERROR

  • STALLED_INTERNAL_ERROR

  • PAUSED

  • PAUSED_BY_SNOWFLAKE_ADMIN

  • PAUSED_BY_ACCOUNT_ADMIN

oldestFileTimestamp

Le plus ancien horodatage parmi les fichiers de données en file d’attente (le cas échéant), l’horodatage étant défini lors de l’ajout du fichier à la file d’attente.

pendingFileCount

Nombre de fichiers en cours de traitement par le canal. Si le canal est mis en pause, cette valeur diminue à mesure que tous les fichiers en file d’attente avant que le canal a été mis en pause sont traités. Lorsque cette valeur est 0, aucun fichier n’est en file d’attente pour ce canal ou le canal est effectivement mis en pause.

notificationChannelName

File d’attente de stockage Amazon SQS ou Microsoft Azure associée au canal.

numOutstandingMessagesOnChannel

Nombre de messages dans la file d’attente qui ont été mis en file d’attente mais pas encore reçus.

lastReceivedMessageTimestamp

Horodatage du dernier message reçu de la file d’attente. Notez que ce message peut ne pas s’appliquer au canal spécifique, par exemple si le chemin/préfixe associé au message ne correspond pas au chemin/préfixe de la définition du canal. De plus, seuls les messages déclenchés par des objets de données créés sont consommés par les canaux d’intégration automatique.

lastForwardedMessageTimestamp

Horodatage du dernier message d’événement « créer un objet » avec un chemin/préfixe correspondant qui a été transmis au canal.

error

Message d’erreur généré lors de la dernière compilation du canal en vue de son exécution (le cas échéant) ; souvent causé par des problèmes d’accès aux objets requis (par exemple, une table, une zone de préparation, le format de fichier) en raison de problèmes d’autorisation ou d’objets perdus.

fault

La plus récente erreur interne liée au processus Snowflake (le cas échéant). Utilisé principalement par Snowflake à des fins de débogage.

Exemples

Récupérez le statut d’un canal ayant un nom non sensible à la casse :

SELECT SYSTEM$PIPE_STATUS('mydb.myschema.mypipe');

+---------------------------------------------------+
| SYSTEM$PIPE_STATUS('MYDB.MYSCHEMA.MYPIPE')        |
|---------------------------------------------------|
| {"executionState":"RUNNING","pendingFileCount":0} |
+---------------------------------------------------+

Récupérez le statut d’un canal avec un nom sensible à la casse :

SELECT SYSTEM$PIPE_STATUS('mydb.myschema."myPipe"');

+---------------------------------------------------+
| SYSTEM$PIPE_STATUS('MYDB.MYSCHEMA."MYPIPE"')      |
|---------------------------------------------------|
| {"executionState":"RUNNING","pendingFileCount":0} |
+---------------------------------------------------+