Catégories :

Fonctions système (Informations système)

SYSTEM$EXTERNAL_TABLE_PIPE_STATUS

Récupère une représentation JSON du statut actuel d’actualisation de l’objet canal interne (masqué) associé à une table externe.

L’actualisation automatique des métadonnées d’une table externe repose en interne sur Snowpipe, qui reçoit des notifications d’événements lorsque des changements se produisent dans le stockage Cloud surveillé. Pour plus d’informations, voir Introduction aux tables externes.

Syntaxe

SYSTEM$EXTERNAL_TABLE_PIPE_STATUS( '<external_table_name>' )
Copy

Arguments

external_table_name

Table externe pour laquelle vous voulez récupérer le statut actuel d’actualisation automatique.

Notes sur l’utilisation

  • Cette fonction renvoie uniquement des résultats pour le propriétaire de la table externe (c’est-à-dire le rôle qui possède le privilège OWNERSHIP sur la table externe).

  • external_table_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_table_externe>'.

    • Si le nom de la table externe 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>, »lastPipeFaultTimestamp »: »<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 :

  • RUNNING (c’est-à-dire que tout est normal ; Snowflake peut ou non traiter activement les messages d’événement 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_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 a été détruite)

  • STALLED_COMPILATION_ERROR

  • STALLED_INITIALIZATION_ERROR

  • STALLED_EXECUTION_ERROR

  • STALLED_INTERNAL_ERROR

  • PAUSED

  • PAUSED_BY_SNOWFLAKE_ADMIN

  • PAUSED_BY_ACCOUNT_ADMIN

oldestPendingFilePath

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

oldestFileTimestamp

Le plus ancien horodatage parmi les fichiers de données en file d’attente pour une opération d’actualisation de métadonnées (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. Cette valeur diminue au fur et à mesure que les métadonnées de la table externe sont actualisées. Lorsque cette valeur est 0, soit il n’y a pas d’actualisation de métadonnées en file d’attente pour ce canal.

lastPipeFaultTimestamp

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

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.

lastForwardedMessageTimestamp

Horodatage du dernier message d’événement applicable avec un chemin/préfixe correspondant qui a été transmis au canal.

channelErrorMessage

Message d’erreur produit lors de la tentative de lecture des messages de la file d’attente du service de messagerie Cloud associé.

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 de la dernière fois où Snowpipe a retiré les notifications d’événements pour le canal de la file d’attente du service de messagerie Cloud.

lastForwardedFilePath

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

Exemples

Récupérer le statut d’actualisation automatique pour une table externe avec un nom non sensible à la casse :

SELECT SYSTEM$EXTERNAL_TABLE_PIPE_STATUS('mydb.myschema.exttable');

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

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

SELECT SYSTEM$EXTERNAL_TABLE_PIPE_STATUS('mydb.myschema."extTable"');

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