- カテゴリ:
SERVERLESS_ALERT_HISTORY¶
このテーブル関数は、 サーバーレスタスク の使用履歴をクエリするために使用されます。関数によって返される情報には、アラート名と各アラートの実行によって消費されたクレジットが含まれます。
構文¶
SERVERLESS_ALERT_HISTORY(
[ DATE_RANGE_START => <constant_expr> ]
[ , DATE_RANGE_END => <constant_expr> ]
[ , ALERT_NAME => '<string>' ] )
引数¶
すべての引数はオプションです。
DATE_RANGE_START => constant_expr
、 .DATE_RANGE_END => constant_expr
使用状況ウィンドウの日付/時刻範囲:
終了日が指定されていない場合は、 CURRENT_DATE が範囲の終了として使用されます。
開始日が指定されていない場合、範囲は
DATE_RANGE_END
の開始10分前に開始します(つまり、デフォルトでは過去10分間の使用履歴を表示します)。例えば、DATE_RANGE_END
が CURRENT_DATE の場合、デフォルトのDATE_RANGE_START
は 前日 の11:50 PM です。
ALERT_NAME => string
使用履歴を取得するアラートの名前。指定されたアラートの使用状況データのみが返されます。
アラート名は一重引用符で囲む必要があります。また、アラート名にスペース、大文字と小文字の混在、または特殊文字がある場合、名前は二重引用符を一重引用符内で囲む必要があります(例:
'"My Alert"'
と'myalert'
)。
使用上の注意¶
テーブル関数は、 ACCOUNTADMIN ロールまたは MONITOR USAGE グローバル権限が明示的に付与されているロールの結果のみを返します。
注釈
MONITOR USAGE 権限を持つロールは、オブジェクトごとのクレジット使用状況を表示できますが、オブジェクト名は表示できません。
Information Schemaテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。
履歴は1時間単位で表示されます。
出力¶
この関数は、次の列を返します。
列名 |
データ型 |
説明 |
---|---|---|
START_TIME |
TIMESTAMP_LTZ |
指定された時間範囲の開始です。 |
END_TIME |
TIMESTAMP_LTZ |
指定された時間範囲の終了です。 |
ALERT_NAME |
TEXT |
アラートの名前。 |
CREDITS_USED |
TEXT |
START_TIME および END_TIME ウィンドウ中にサーバーレスアラートの使用に対して請求されたクレジットの数。 |
例¶
アカウントの1時間範囲の使用履歴を取得します。
SELECT *
FROM TABLE(INFORMATION_SCHEMA.SERVERLESS_ALERT_HISTORY(
DATE_RANGE_START=>'2024-10-08 19:00:00.000 -0700',
DATE_RANGE_END=>'2024-10-08 20:00:00.000 -0700'));
サンプル出力:
+-------------------------------+-------------------------------+------------+--------------+
| START_TIME | END_TIME | ALERT_NAME | CREDITS_USED |
|-------------------------------+-------------------------------+------------+--------------|
| 2024-10-08 04:16:22.000 -0700 | 2024-10-08 05:16:22.000 -0700 | A1 | 0.000286714 |
| 2024-10-08 05:16:22.000 -0700 | 2024-10-08 06:16:22.000 -0700 | A1 | 0.007001568 |
+-------------------------------+-------------------------------+------------+--------------+
アカウントの過去12時間の履歴を取得します。
SELECT *
FROM TABLE(INFORMATION_SCHEMA.SERVERLESS_ALERT_HISTORY(
DATE_RANGE_START=>DATEADD(H, -12, CURRENT_TIMESTAMP)));
アカウントの過去1週間の履歴を取得します。
SELECT *
FROM TABLE(INFORMATION_SCHEMA.SERVERLESS_ALERT_HISTORY(
DATE_RANGE_START=>DATEADD(D, -7, CURRENT_DATE),
DATE_RANGE_END=>CURRENT_DATE));
アカウント内にある指定されたアラートの過去1週間の使用履歴を取得します。
SELECT *
FROM TABLE(INFORMATION_SCHEMA.SERVERLESS_ALERT_HISTORY(
DATE_RANGE_START=>DATEADD(D, -7, CURRENT_DATE),
DATE_RANGE_END=>CURRENT_DATE,
ALERT_NAME=>'my_database.my_schema.my_alert'));