- Catégories :
NOTIFICATION_HISTORY¶
Cette fonction de table peut être utilisée pour interroger l’historique des notifications envoyées par Snowflake. Ces notifications comprennent :
Les lignes renvoyées représentent :
Demandes en cours de traitement.
Tentatives infructueuses d’envoi de notifications.
Notifications qui ont été envoyées correctement.
La colonne STATUS indique ce que représente chaque ligne. Voir Exemples de sortie de la fonction.
Syntaxe¶
NOTIFICATION_HISTORY(
[ START_TIME => <constant_expr> ]
[, END_TIME => <constant_expr> ]
[, INTEGRATION_NAME => '<string>' ]
[, RESULT_LIMIT => <integer> ] )
Arguments¶
Tous les arguments sont facultatifs.
START_TIME=> constant_expr
, .END_TIME=> constant_expr
Plage horaire (au format TIMESTAMP_LTZ) à laquelle la notification est envoyée.
Si START_TIME n’est pas spécifié, l’intervalle commence 24 heures avant END_TIME.
Si END_TIME n’est pas spécifié, la valeur par défaut est CURRENT_TIMESTAMP.
La plage horaire maximale est de 14 jours.
INTEGRATION_NAME => 'string'
Le nom entièrement qualifié de l’intégration qui est liée à la notification. Si vous omettez cet argument, la fonction renvoie toutes les notifications.
Par défaut : une chaîne vide.
RESULT_LIMIT => integer
Un nombre spécifiant le nombre maximum de lignes renvoyé par la fonction.
Plage : de
1
à10000
Par défaut :
100
Sortie¶
La fonction renvoie les colonnes suivantes :
Nom de la colonne |
Type de données |
Description |
---|---|---|
CREATED |
TIMESTAMP_LTZ |
Horodatage de la création de la notification. |
PROCESSED |
TIMESTAMP_LTZ |
Horodatage de la dernière tentative d’envoi de la notification. |
MESSAGE_SOURCE |
VARCHAR |
Type d’objet ou de fonction qui a généré la notification. Les valeurs valides incluent :
|
INTEGRATION_NAME |
VARCHAR |
|
STATUS |
VARCHAR |
Statut de la notification. Les valeurs valides sont :
|
ERROR_MESSAGE |
VARCHAR |
Si la notification a échoué, fournit des détails sur la raison de l’échec. Note Pour les notifications webhook, cette colonne contient le corps de la réponse HTTP, qui pourrait contenir des données sensibles. Avant d’utiliser ces données, assurez-vous de les assainir. |
ID |
VARCHAR |
ID unique d’une demande d’envoi de notification. Si Snowflake ne parvient pas à envoyer une notification et tente à nouveau de l’envoyer, la fonction renvoie une ligne pour chaque tentative. Chaque ligne pour une tentative a la même valeur dans la colonne ID mais une valeur différente dans la colonne ATTEMPT. |
ATTEMPT |
INTEGER |
Numéro de la tentative d’envoi de la notification. |
MESSAGE_SOURCE_INFO |
OBJECT |
Objet contenant des informations sur la source de la notification. Les champs de cet objet dépendent du type de la source :
|
Notes sur l’utilisation¶
Renvoie les résultats uniquement pour le rôle ACCOUNTADMIN, le propriétaire de l’intégration (c’est-à-dire le rôle avec le privilège OWNERSHIP sur l’intégration), un rôle avec le privilège USAGE sur l’intégration.
Lors de l’appel d’une fonction de table Information Schema, la session doit avoir un schéma INFORMATION_SCHEMA en cours d’utilisation ou le nom de la fonction doit être complètement qualifié. Pour plus de détails, voir Schéma d’information de Snowflake.
Exemples¶
Les sections suivantes contiennent des exemples d’appel de la fonction et des exemples de sortie de la fonction :
Exemples d’appel de la fonction¶
Les exemples suivants montrent comment appeler cette fonction :
Récupération des notifications les plus récentes¶
Récupère les notifications les plus récentes créées au cours des 24 dernières heures.
SELECT * FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
Récupération des notifications par heure et nom d’intégration¶
Récupérez les notifications les plus récentes qui ont été créées au cours de la dernière heure et envoyées à l’aide de l’intégration nommée my_integration
.
SELECT * FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY(
START_TIME=>DATEADD('hour',-1,CURRENT_TIMESTAMP()),
END_TIME=>CURRENT_TIMESTAMP(),
RESULT_LIMIT=>100,
INTEGRATION_NAME=>'my_integration'));
Exemples de sortie de la fonction¶
Les exemples suivants expliquent la sortie renvoyée par cette fonction pour les demandes de notification à différents états :
Exemple de sortie lorsque deux tentatives échouent et qu’une troisième tentative est en cours
Exemple de résultat lorsque deux tentatives échouent et qu’une troisième tentative réussit
Exemple de sortie lorsque deux tentatives échouent et qu’une troisième tentative est en cours¶
Cet exemple sélectionne un sous-ensemble des colonnes dans la sortie :
SELECT id, attempt, created, processed, status
FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
La sortie inclut les lignes qui représentent les tentatives d’envoi d’une notification. Dans la sortie :
La colonne ID identifie la notification qui est envoyée.
Les deux premières tentatives d’envoi de la notification ont échoué, mais le système peut tenter d’envoyer à nouveau la notification (comme indiqué par la valeur
RETRIABLE_FAILURE
dans la colonne STATUS).Une troisième tentative est en cours de traitement, comme l’indique la valeur
QUEUED
dans la colonne STATUS.
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
| ID | ATTEMPT | CREATED | PROCESSED | STATUS |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
| 10ae695e-93c3 | 3 | 2023-12-05 15:10:15.194 -0800 | NULL | QUEUED |
| 10ae695e-93c3 | 2 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:11:21.443 -0800 | RETRIABLE_FAILURE |
| 10ae695e-93c3 | 1 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:10:21.443 -0800 | RETRIABLE_FAILURE |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
Exemple de résultat lorsque deux tentatives échouent et qu’une troisième tentative réussit¶
Cet exemple sélectionne un sous-ensemble des colonnes dans la sortie :
SELECT id, attempt, created, processed, status
FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY());
La sortie inclut les lignes qui représentent les tentatives d’envoi d’une notification. Dans la sortie :
La colonne ID identifie la notification qui est envoyée.
Les deux premières tentatives d’envoi de la notification ont échoué, mais le système peut tenter d’envoyer à nouveau la notification (comme indiqué par la valeur
RETRIABLE_FAILURE
dans la colonne STATUS).Une troisième tentative a réussi, comme l’indique la valeur
SUCCESS
dans la colonne STATUS.
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
| ID | ATTEMPT | CREATED | PROCESSED | STATUS |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+
| 10ae695e-93c3 | 3 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:12:21.443 -0800 | SUCCESS |
| 10ae695e-93c3 | 2 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:11:21.443 -0800 | RETRIABLE_FAILURE |
| 10ae695e-93c3 | 1 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:10:21.443 -0800 | RETRIABLE_FAILURE |
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+