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 Snowpipe.

Syntaxe

SYSTEM$PIPE_STATUS( '<pipe_name>' )
Copy

Arguments

pipe_name

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

Notes sur l’utilisation

  • Renvoie les résultats uniquement pour le propriétaire du canal (c’est-à-dire le rôle avec le privilège OWNERSHIP sur le canal), un rôle avec le privilège MONITOR sur le canal.

  • pipe_name 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> », »oldestPendingFilePath »: »<valeur> », »oldestFileTimestamp »:<valeur>, »pendingFileCount »:<valeur>, »lastPipeErrorTimestamp »: »<valeur> », »lastPipeFaultTimestamp »: »<valeur> », »lastIngestedTimestamp »: »<valeur> », »lastIngestedFilePath »: »<valeur> », »notificationChannelName »: »<valeur> », »numOutstandingMessagesOnChannel »:<valeur>, »lastReceivedMessageTimestamp »: »<valeur> », »lastForwardedMessageTimestamp »: »<valeur> », »error »:<valeur>, »fault »:<valeur>, »lastPulledFromChannelTimestamp »: »<valeur> », »lastForwardedFilePath »: »<valeur> »}

Où :

executionState

État d’exécution actuel du canal. La valeur peut être l’une des suivantes :

  • FAILING_OVER

  • PAUSED

  • READ_ONLY (le canal ou la table cible se trouve dans une base de données secondaire en lecture seule).

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

  • STOPPED_CLONED (c’est-à-dire que le canal est contenu par un clone de base de données ou de schéma)

  • STOPPED_FEATURE_DISABLED

  • STOPPED_STAGE_ALTERED (le canal est arrêté parce que l’emplacement de la zone de préparation sous-jacente a été modifié).

  • STOPPED_STAGE_DROPPED

  • STOPPED_FILE_FORMAT_DROPPED

  • STOPPED_NOTIFICATION_INTEGRATION_DROPPED

  • STOPPED_MISSING_PIPE

  • STOPPED_MISSING_TABLE (la table cible définie dans la définition du canal est détruite)

  • STALLED_COMPILATION_ERROR

  • STALLED_INITIALIZATION_ERROR

  • STALLED_EXECUTION_ERROR

  • STALLED_INTERNAL_ERROR

  • STALLED_STAGE_PERMISSION_ERROR (une erreur d’autorisation de zone de préparation externe est détectée).

oldestPendingFilePath

Chemin du fichier de données le plus ancien actuellement en attente de traitement. L’horodatage lorsque le fichier a été ajouté à la file d’attente est renvoyé dans la propriété oldestFileTimestamp existante.

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 attente de chargement par le canal.

Ce nombre peut augmenter même si un canal est mis en pause. Selon le paramètre AUTO_INGEST du canal, le nombre de fichiers en file d’attente peut augmenter comme suit :

AUTO_INGEST = TRUE

Les fichiers ajoutés au compartiment ou au conteneur de stockage Cloud déclenchent des notifications d’événements de nouveaux fichiers pour le canal.

Notez que si un canal mis en pause devient obsolète, le compte pendingFileCount ignore toute notification d’événement plus ancienne que la période de conservation limitée.

AUTO_INGEST = FALSE

Les appels au point de terminaison insertFiles REST déclenchent la mise en file d’attente des fichiers à charger par le canal.

lastPipeErrorTimestamp

Horodatage lorsque la compilation de l’instruction COPY INTO <table> dans la définition du canal pour l’exécution a produit une erreur pour la dernière fois.

lastPipeFaultTimestamp

Horodatage de la dernière détection d’une erreur interne liée au processus Snowflake.

lastIngestedTimestamp

Horodatage lorsque le fichier le plus récent a été chargé avec succès par Snowpipe dans la table de destination.

lastIngestedFilePath

Chemin du fichier chargé à l’heure (horodatage) spécifiée dans lastIngestedTimestamp.

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.

channelErrorMessage

Message d’erreur produit lors de la tentative de lecture de messages à partir de la file d’attente Google Cloud Pub/Sub ou de la file d’attente de stockage Microsoft Azure Event Grid associée.

lastErrorRecordTimestamp

Horodatage du dernier message d’erreur de canal (c’est-à-dire le message d’erreur signalé dans la valeur channelErrorMessage).

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.

lastPulledFromChannelTimestamp

Horodatage du moment où Snowpipe a récupéré pour la dernière fois les notifications d’événement « create object » pour le canal depuis de la file d’attente Amazon Simple Queue Service (SQS), de la file d’attente Google Pub/Sub ou de la file d’attente de stockage Microsoft Azure.

Cette valeur s’applique uniquement aux charges d’intégration automatique Snowpipe.

lastForwardedFilePath

Chemin du fichier de données identifié dans le dernier message d’événement « create object » qui a été transmis au canal.

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} |
+---------------------------------------------------+
Copy

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} |
+---------------------------------------------------+
Copy