カテゴリ:

Information Schemaテーブル関数

SERVERLESS_TASK_HISTORY

このテーブル関数は、 サーバーレスタスク の使用履歴をクエリするために使用されます。関数によって返される情報には、タスク名と各タスクの実行によって消費されたクレジットが含まれます。

構文

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

引数

すべての引数はオプションです。

DATE_RANGE_START => constant_expr. DATE_RANGE_END => constant_expr

使用状況ウィンドウの日付/時刻範囲:

  • 終了日が指定されていない場合は、 CURRENT_DATE が範囲の終了として使用されます。

  • 開始日が指定されていない場合、範囲は DATE_RANGE_END の開始10分前に開始します(つまり、デフォルトでは過去10分間の使用履歴を表示します)。たとえば、 DATE_RANGE_ENDCURRENT_DATE の場合、デフォルトの DATE_RANGE_START前日 の11:50 PM です。

TASK_NAME => string

使用履歴を取得するタスクの名前。指定されたタスクの使用状況データのみが返されます。

タスク名は一重引用符で囲む必要があります。また、タスク名にスペース、大文字と小文字の混在、または特殊文字がある場合、名前は二重引用符を一重引用符内で囲む必要があります(例: '"My Task"''mytask')。

使用上の注意

  • ACCOUNTADMIN ロールまたは MONITOR USAGE グローバル権限が明示的に付与されているロールの結果のみを返します。

    注釈

    MONITOR USAGE 権限を持つロールは、オブジェクトごとのクレジット使用状況を表示できますが、オブジェクト名は表示できません。

  • Information Schemaテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾された関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。

  • 履歴は1時間単位で表示されます。

出力

この関数は、次の列を返します。

列名

データ型

説明

START_TIME

TIMESTAMP_LTZ

指定された時間範囲の開始です。

END_TIME

TIMESTAMP_LTZ

指定された時間範囲の終了です。

TASK_NAME

TEXT

タスクの名前。

CREDITS_USED

TEXT

START_TIME および END_TIME ウィンドウ中にサーバーレスタスクの使用に対して請求されたクレジットの数。

アカウントの1時間範囲の使用履歴を取得します。

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

サンプル出力:

+-------------------------------+-------------------------------+-----------+--------------+
| 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

アカウントの過去12時間の履歴を取得します。

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

アカウントの過去1週間の履歴を取得します。

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

アカウント内にある指定されたタスクの過去1週間の使用履歴を取得します。

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