- 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>' )
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
(le canal est en train de basculer du compte principal au compte secondaire)
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_BY_SNOWFLAKE_ADMIN
(le canal est arrêté par le support Snowflake. Le canal n’acceptera pas de nouveaux fichiers à ingérer.)
STOPPED_CLONED
(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} | +---------------------------------------------------+
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} | +---------------------------------------------------+