Catégories :

Information Schema , Fonctions de table

SERVERLESS_TASK_HISTORY

Cette fonction de table est utilisée pour interroger l’historique d’utilisation de la tâche sans serveur. Les informations renvoyées par la fonction comprennent le nom de la tâche et les crédits consommés par les exécutions de chaque tâche.

Syntaxe

SERVERLESS_TASK_HISTORY(
      [ DATE_RANGE_START => <constant_expr> ]
      [ , DATE_RANGE_END => <constant_expr> ]
      [ , TASK_NAME => '<string>' ] )
Copy

Arguments

Tous les arguments sont facultatifs.

DATE_RANGE_START => constant_expr , . DATE_RANGE_END => constant_expr

Plage de dates/heures de la fenêtre d’utilisation :

  • Si aucune date de fin n’est spécifiée, CURRENT_DATE est utilisée comme date de fin de plage.

  • Si aucune date de début n’est spécifiée, la plage commence 10 minutes avant le début de DATE_RANGE_END (c’est-à-dire que la valeur par défaut est d’afficher les 10 minutes précédentes de l’historique d’utilisation). Par exemple, si DATE_RANGE_END est CURRENT_DATE, alors le DATE_RANGE_START par défaut est 11h50 PM le jour précédent.

TASK_NAME => string

Nom de la tâche pour laquelle il faut récupérer l’historique d’utilisation. Seules les données d’utilisation de la tâche spécifiée sont renvoyées.

Notez que le nom de la tâche doit être entre guillemets simples. De plus, si le nom de la tâche contient des espaces, une casse mixte ou des caractères spéciaux, le nom doit être entre guillemets doubles à l’intérieur des guillemets simples (p. ex. '"My Task"' vs 'mytask').

Notes sur l’utilisation

  • Renvoie les résultats uniquement pour le rôle ACCOUNTADMIN ou tout rôle auquel le privilège global MONITOR USAGE a été explicitement accordé.

    Note

    Un rôle doté du privilège MONITOR USAGE peut afficher l’utilisation du crédit par objet, mais pas les noms d’objet.

  • Lors de l’appel d’une fonction de la 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.

  • L’historique est affiché par incréments de 1 heure.

Sortie

La fonction renvoie les colonnes suivantes :

Nom de la colonne

Type de données

Description

START_TIME

TIMESTAMP_LTZ

Début de l’intervalle de temps spécifié.

END_TIME

TIMESTAMP_LTZ

Fin de l’intervalle de temps spécifié.

TASK_NAME

TEXT

Nom de la tâche.

CREDITS_USED

TEXT

Nombre de crédits facturés pour l’utilisation des tâches sans serveur pendant la fenêtre START_TIME et END_TIME.

Exemples

Récupérer l’historique d’utilisation d’une durée d’une heure pour votre compte :

select *
  from table(information_schema.serverless_task_history(
    date_range_start=>'2021-10-08 19:00:00.000',
    date_range_end=>'2021-10-08 20:00:00.000'));
Copy

Exemple de sortie :

+-------------------------------+-------------------------------+-----------+--------------+
| START_TIME                    | END_TIME                      | TASK_NAME | CREDITS_USED |
|-------------------------------+-------------------------------+-----------+--------------|
| 2021-10-08 04:16:22.000 -0700 | 2021-10-08 05:16:22.000 -0700 | T1        |  0.000286714 |
| 2021-10-08 05:16:22.000 -0700 | 2021-10-08 06:16:22.000 -0700 | T1        |  0.007001568 |
+-------------------------------+-------------------------------+-----------+--------------+
Copy

Récupérer l’historique des 12 dernières heures pour votre compte :

select *
  from table(information_schema.serverless_task_history(
    date_range_start=>dateadd(H, -12, current_timestamp)));
Copy

Récupérer l’historique de la semaine passée pour votre compte :

select *
  from table(information_schema.serverless_task_history(
    date_range_start=>dateadd(D, -7, current_date),
    date_range_end=>current_date));
Copy

Récupérer l’historique d’utilisation de la semaine dernière, pour une tâche spécifiée dans votre compte :

select *
  from table(information_schema.serverless_task_history(
    date_range_start=>dateadd(D, -7, current_date),
    date_range_end=>current_date,
    task_name=>'mydb.myschema.mytask'));
Copy