- カテゴリ:
NOTIFICATION_HISTORY¶
このテーブル関数を使用して、Snowflakeを介して送信された通知の履歴をクエリできます。これらの通知には次が含まれます。
返される行は以下の通りです。
処理中のリクエスト。
通知送信の失敗。
正常に送信された通知。
STATUS 列 は、各行が何を表しているかを示しています。 関数からの出力例 をご参照ください。
構文¶
NOTIFICATION_HISTORY( [ START_TIME => <constant_expr> ] [, END_TIME => <constant_expr> ] [, INTEGRATION_NAME => '<string>' ] [, RESULT_LIMIT => <integer> ] ) 引数¶
すべての引数はオプションです。
START_TIME=> constant_expr、 .END_TIME=> constant_expr通知が送信される時間範囲(TIMESTAMP_LTZ 形式)。
START_TIME が指定されていない場合、範囲は END_TIME の24時間前に開始されます。
END_TIME が指定されていない場合、デフォルトは CURRENT_TIMESTAMP です。
最大時間範囲は14日間です。
INTEGRATION_NAME => 'string'通知に関連付けられている統合の完全修飾名。この引数を省略すると、関数はすべての通知を返します。
デフォルト: 空の文字列。
RESULT_LIMIT => integer関数によって返される行の最大数を指定する数です。
範囲:
1~10000デフォルト:
100
出力¶
この関数は、次の列を返します。
列名 | データ型 | 説明 |
|---|---|---|
CREATED | TIMESTAMP_LTZ | 通知が作成されたときのタイムスタンプ。 |
PROCESSED | TIMESTAMP_LTZ | 通知の送信を最後に試みたときのタイムスタンプ。 |
MESSAGE_SOURCE | VARCHAR | 通知を生成したオブジェクトまたは機能の型。有効な値:
|
INTEGRATION_NAME | VARCHAR | この通知に使用される統合 の名前。 |
STATUS | VARCHAR | 通知のステータス。有効な値:
|
ERROR_MESSAGE | VARCHAR | 通知が失敗した場合は、通知が失敗した理由についての詳細を提供します。 注釈 ウェブフック通知の場合、この列は HTTP レスポンスの本体を含み、機密データを含んでいる可能性があります。このデータを使用する前に、必ずデータから機密データを取り除いてください。 |
ID | VARCHAR | 通知送信リクエストの一意の ID。 Snowflakeが通知の送信に失敗し、再度通知を送信しようとした場合、この関数は各試行の行を返します。各試行の行の ID 列の値は同じですが、 ATTEMPT 列の値は異なります。 |
ATTEMPT | INTEGER | 通知の送信を試みた回数。 |
MESSAGE_SOURCE_INFO | OBJECT | 通知元に関する情報を含むオブジェクト。このオブジェクトのフィールドは、ソースのタイプによって異なります。
|
使用上の注意¶
ACCOUNTADMIN ロール、統合の所有者(つまり、統合に対する OWNERSHIP 権限を持つロール)、または統合に対する USAGE 権限を持つロールにのみ結果を返します。
Information Schemaテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。
例¶
以下のセクションには、関数の呼び出しの例と関数からの出力の例が含まれています。
関数の呼び出し例¶
以下の例は、この関数を呼び出し方を説明しています。
最新の通知の取得¶
過去24時間に作成された最新の通知を取得します。
SELECT * FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY()); 時刻と統合名による通知の取得¶
過去1時間に作成され、 my_integration という名前の統合を使用して送信された最新の通知を取得します。
SELECT * FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY( START_TIME=>DATEADD('hour',-1,CURRENT_TIMESTAMP()), END_TIME=>CURRENT_TIMESTAMP(), RESULT_LIMIT=>100, INTEGRATION_NAME=>'my_integration')); 関数からの出力例¶
以下の例は、異なる状態の通知要求に対してこの関数が返す出力について説明しています。
2回の試行が失敗し、3回目の試行が進行中の場合の出力例¶
この例では、出力中の列のサブセットを選択しています。
SELECT id, attempt, created, processed, status FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY()); 出力には、1つの通知を送信しようとした行が含まれます。出力では:
ID 列は、送信されている通知を特定します。
通知送信の最初の2回の試みは失敗しましたが、システムは再度通知送信を試みることができます(STATUS 列の値
RETRIABLE_FAILUREで示されます)。STATUS 列の値
QUEUEDが示すように、3回目の試みが処理中です。
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+ | ID | ATTEMPT | CREATED | PROCESSED | STATUS | +-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+ | 10ae695e-93c3 | 3 | 2023-12-05 15:10:15.194 -0800 | NULL | QUEUED | | 10ae695e-93c3 | 2 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:11:21.443 -0800 | RETRIABLE_FAILURE | | 10ae695e-93c3 | 1 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:10:21.443 -0800 | RETRIABLE_FAILURE | +-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+ 2回の試行が失敗し、3回目の試行が成功した場合の出力例¶
この例では、出力中の列のサブセットを選択しています。
SELECT id, attempt, created, processed, status FROM TABLE(INFORMATION_SCHEMA.NOTIFICATION_HISTORY()); 出力には、1つの通知を送信しようとした行が含まれます。出力では:
ID 列は、送信されている通知を特定します。
通知送信の最初の2回の試みは失敗しましたが、システムは再度通知送信を試みることができます(STATUS 列の値
RETRIABLE_FAILUREで示されます)。STATUS 列の値
SUCCESSで示されているように、3回目の試みは成功しました。
+-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+ | ID | ATTEMPT | CREATED | PROCESSED | STATUS | +-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+ | 10ae695e-93c3 | 3 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:12:21.443 -0800 | SUCCESS | | 10ae695e-93c3 | 2 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:11:21.443 -0800 | RETRIABLE_FAILURE | | 10ae695e-93c3 | 1 | 2023-12-05 15:10:15.194 -0800 | 2023-12-05 15:10:21.443 -0800 | RETRIABLE_FAILURE | +-------------------+-------------+-----------------------------------+-----------------------------------+-----------------------+