Catégories :

Information Schema , Fonctions de table

ALERT_HISTORY

Cette fonction de table INFORMATION_SCHEMA peut être utilisée pour interroger l’historique de l’utilisation des alertes dans une plage de dates spécifiée. La fonction renvoie l’historique d’utilisation des alertes pour l’ensemble de votre compte Snowflake ou pour une alerte spécifiée.

Vous pouvez également accéder à ces informations via la vue ALERT_HISTORY dans le schéma ACCOUNT_USAGE. Pour plus de détails sur les différences entre la fonction de vue et de table, reportez-vous à Différences entre Account Usage et Information Schema.

Note

Cette fonction renvoie l’activité de l’alerte au cours des 7 derniers jours ou de la prochaine exécution programmée au cours des 8 prochains jours.

Syntaxe

ALERT_HISTORY(
      [ SCHEDULED_TIME_RANGE_START => <constant_expr> ]
      [, SCHEDULED_TIME_RANGE_END => <constant_expr> ]
      [, RESULT_LIMIT => <integer> ]
      [, ALERT_NAME => '<string>' ] )
Copy

Arguments

Tous les arguments sont facultatifs.

SCHEDULED_TIME_RANGE_START => constant_expr , . SCHEDULED_TIME_RANGE_END => constant_expr

Période (au format TIMESTAMP_LTZ), au cours des 7 derniers jours, pendant laquelle l’évaluation de la condition de l’alerte a été programmée.

  • Si SCHEDULED_TIME_RANGE_END n’est pas spécifié, la fonction renvoie les alertes déjà terminées, en cours d’exécution ou planifiées ultérieurement.

  • Si SCHEDULED_TIME_RANGE_END vaut CURRENT_TIMESTAMP, la fonction renvoie les alertes déjà terminées ou en cours d’exécution. Notez qu’une alerte exécutée immédiatement avant l’heure actuelle peut toujours être identifiée comme étant planifiée.

Note

Si aucune heure de début ou de fin n’est spécifiée, les alertes les plus récentes sont renvoyées, jusqu’à la valeur RESULT_LIMIT spécifiée.

Si l’intervalle de temps ne tombe pas dans les 7 derniers jours, une erreur est renvoyée.

RESULT_LIMIT => integer

Un nombre spécifiant le nombre maximum de lignes renvoyé par la fonction.

Si le nombre de lignes correspondantes est supérieur à cette limite, les exécutions d’alertes avec l’horodatage le plus récent sont renvoyées, jusqu’à la limite spécifiée.

Plage : de 1 à 10000

Par défaut : 100.

ALERT_NAME => string

Une chaîne insensible à la casse spécifiant une alerte. Seuls les noms d’alerte non qualifiés sont pris en charge. Seules les exécutions de l’alerte spécifiée sont renvoyées. Notez que si plusieurs alertes portent le même nom, la fonction renvoie l’historique de chacune de ces alertes.

Notes sur l’utilisation

  • Renvoie les résultats uniquement pour le rôle ACCOUNTADMIN ou le propriétaire de l’alerte (c’est-à-dire le rôle doté du privilège OWNERSHIP sur la tâche).

  • Cette fonction renvoie un maximum de 10 000 lignes, définies dans la valeur de l’argument RESULT_LIMIT. La valeur par défaut est 100.

    Notez que lorsque la fonction ALERT_HISTORY est interrogée, ses arguments de nom d’alerte, d’intervalle de temps et de limite de résultat sont appliqués d’abord, suivis des clauses WHERE et LIMIT, respectivement, si elles sont spécifiées. En outre, la fonction ALERT_HISTORY renvoie les enregistrements dans l’ordre SCHEDULED_TIME décroissant. Les alertes qui sont terminées (c’est-à-dire avec un état SUCCEEDED, FAILED ou CANCELLED) ont tendance à être programmées plus tôt, de sorte qu’elles sont généralement renvoyées plus tard dans l’ordre dans les résultats de la recherche.

    En pratique, si vous avez de nombreuses alertes en cours sur votre compte, les résultats renvoyés par la fonction pourraient inclure moins d’alertes terminées que prévu, ou que des alertes programmées, surtout si la valeur RESULT_LIMIT est relativement faible. Pour interroger l’historique des alertes déjà exécutées, Snowflake recommande d’utiliser une combinaison des arguments SCHEDULED_TIME_RANGE_START => constant_expr et/ou SCHEDULED_TIME_RANGE_END => constant_expr.

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

  • Cette fonction peut renvoyer toutes les exécutions exécutées au cours des sept derniers jours ou la prochaine exécution planifiée au cours des huit jours suivants.

Sortie

La fonction de table ALERT_HISTORY produit une ligne pour chaque exécution d’alerte. Chaque ligne contient les colonnes suivantes :

Nom de la colonne

Type de données

Description

NAME

TEXT

Nom de l’alerte.

DATABASE_NAME

TEXT

Nom de la base de données contenant l’alerte.

SCHEMA_NAME

TEXT

Nom du schéma contenant l’alerte.

CONDITION

TEXT

Texte de l’instruction SQL qui sert de condition à l’alerte.

CONDITION_QUERY_ID

TEXT

Identificateur interne/système pour l’instruction SQL exécutée comme condition de l’alerte.

ACTION

TEXT

Texte de l’instruction SQL qui sert d’action pour l’alerte.

ACTION_QUERY_ID

TEXT

Identificateur interne/système pour l’instruction SQL exécutée comme action de l’alerte.

STATE

TEXT

Statut de l’alerte. Elle peut être sous la forme suivante :

  • SCHEDULED : l’alerte s’exécutera à l’heure spécifiée par la colonne SCHEDULED_TIME.

  • EXECUTING : la condition ou l’action de l’alerte est en cours d’exécution.

  • FAILED : l’alerte a échoué. La condition ou l’action d’alerte a rencontré une erreur qui a empêché son exécution.

  • CANCELLED : l’exécution de l’alerte a été annulée (par exemple, lorsque l’alerte est suspendue).

  • CONDITION_FALSE : la condition a été évaluée avec succès mais n’a renvoyé aucune donnée. En conséquence, l’action n’a pas été exécutée.

  • CONDITION_FAILED : l’évaluation de la condition a échoué. Pour plus de détails sur l’échec, vérifiez les colonnes SQL_ERROR_CODE et SQL_ERROR_MESSAGE.

  • ACTION_FAILED : la condition a été évaluée avec succès, mais l’exécution de l’action a échoué. Pour plus de détails sur l’échec, vérifiez les colonnes SQL_ERROR_CODE et SQL_ERROR_MESSAGE.

  • TRIGGERED : la condition a été évaluée avec succès, et l’action a été exécutée avec succès.

SQL_ERROR_CODE

NUMBER

Code d’erreur, si l’alerte renvoie une erreur ou ne s’exécute pas (par exemple, si l’utilisateur actuel n’a pas les privilèges pour exécuter l’alerte).

SQL_ERROR_MESSAGE

VARCHAR

Message d’erreur si l’alerte a renvoyé une erreur.

SCHEDULED_TIME

TIMESTAMP_LTZ

Heure à laquelle le début de l’exécution de la tâche est/était programmée.

Notez que nous faisons de notre mieux pour assurer une précision absolue, mais nous garantissons uniquement que les alertes ne s’exécutent pas avant leur heure programmée.

COMPLETED_TIME

TIMESTAMP_LTZ

Heure de fin de l’alerte ou NULL si SCHEDULED_TIME est dans le futur ou si l’alerte est toujours en cours d’exécution.

Exemples

Voir Suivi de l’exécution des alertes.