Catégories :

Information Schema , Fonctions de table

APPLICATION_CALLBACK_HISTORY

Renvoie des informations sur l’historique des invocations de rappel pour les Snowflake Native Apps dans votre compte Snowflake. Chaque ligne représente une invocation de rappel, y compris le type de rappel, le mode d’exécution, l’état et toute information sur l’erreur.

Syntaxe

APPLICATION_CALLBACK_HISTORY(
  [ APPLICATION_NAME => '<application_name>' ]
  [ , CALLBACK_TYPE => '<callback_manifest_name>' ]
  [ , LIMIT => <number> ]
)

Arguments facultatifs

APPLICATION_NAME => 'application_name'

Le nom de l’application pour laquelle récupérer l’historique des rappels. Si non spécifié, renvoie l’historique de toutes les applications du compte.

CALLBACK_TYPE => 'callback_manifest_name'

Type de rappel tel que défini dans le fichier manifeste. Si non spécifié, renvoie l’historique de tous les types de rappel de l’application spécifiée.

LIMIT => number

Nombre maximal de lignes à renvoyer. La valeur par défaut est 100. Le maximum est 10 000.

Notes sur l’utilisation

  • Lors de l’appel d’une fonction de la table de schémas d’informations, 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.

  • Les colonnes QUERY_TEXT et``ERROR_MESSAGE`` sont éditées à moins que l’appelant ne soit l’application elle-même.

  • L’utilisation de cette fonction nécessite l’un des éléments suivants :

    • OWNERSHIP sur l’application.

    • Privilège MONITOR sur l’application.

    • Exécution en tant qu’application elle-même.

Sortie

La fonction renvoie les colonnes suivantes :

Nom de la colonne

Type de données

Description

TYPE

VARCHAR

Type de rappel tel que défini dans le fichier manifeste.

EXECUTION_MODE

VARCHAR

Le mode d’exécution du rappel. Les valeurs possibles sont : SYNC, ASYNC.

APPLICATION_NAME

VARCHAR

Nom de l’application qui définit le rappel.

STATE

VARCHAR

L’état d’exécution du rappel. Voir États de rappel.

STARTED_ON

TIMESTAMP_LTZ

L’horodatage lorsque le rappel a été invoqué.

COMPLETED_ON

TIMESTAMP_LTZ

L’horodatage d’exécution. NULL si le rappel n’est pas encore terminé.

TRIGGERING_QUERY_ID

VARCHAR

L’ID de requête de l’instruction SQL qui a déclenché le rappel. NULL si le rappel n’a pas été déclenché par une requête SQL (par exemple, lorsqu’elle est déclenchée après l’achèvement de la mise à niveau).

QUERY_ID

VARCHAR

L’ID de requête de l’exécution de la procédure de rappel. NULL si le rappel n’est pas encore terminé.

QUERY_TEXT

VARCHAR

Le texte SQL de l’appel de la procédure. NULL si le rappel n’est pas encore terminé. Cette colonne est éditée, sauf si l’appelant est l’application elle-même.

ERROR_CODE

VARCHAR

Le code d’erreur. NULL à moins que STATE soit FAILED ou``ABORTED``.

ERROR_MESSAGE

VARCHAR

Le message d’erreur. NULL à moins que STATE est``FAILED`` ou``ABORTED``. Cette colonne est éditée, sauf si l’appelant est l’application elle-même.

États de rappel

La table suivante décrit les valeurs possibles de la colonne STATE :

État

S’applique à :

Description

QUEUED

Asynchrone uniquement

Le rappel est en attente de planification.

SCHEDULED

Asynchrone uniquement

Le rappel a été planifié et est en attente d’exécution.

EXECUTING

Asynchrone / Synchro

La procédure de rappel est en cours d’exécution.

COMPLETED

Asynchrone / Synchro

La procédure de rappel s’est terminée avec succès.

FAILED

Asynchrone / Synchro

La procédure de rappel a échoué à la validation (par exemple, signature erronée) ou à l’exécution.

ABORTED

Asynchrone uniquement

Une erreur interne de planification s’est produite. Cet état nécessite une intervention de l’assistance.

Exemples

Récupérer l’historique de rappel d’une application spécifique :

SELECT *
FROM TABLE(
    INFORMATION_SCHEMA.APPLICATION_CALLBACK_HISTORY(
        APPLICATION_NAME => 'my_app'));

Récupérer l’historique de rappel pour un type de rappel spécifique avec une limite personnalisée :

SELECT *
FROM TABLE(
    INFORMATION_SCHEMA.APPLICATION_CALLBACK_HISTORY(
        APPLICATION_NAME => 'my_app',
        CALLBACK_TYPE => 'after_configuration_change',
        LIMIT => 100));