- カテゴリ:
ALERT_HISTORY¶
この INFORMATION_SCHEMA テーブル関数は、指定した日付範囲内の アラート の履歴をクエリするために使用できます。この関数は、Snowflakeアカウント全体または指定されたアラートの履歴を返します。
ACCOUNT_USAGE スキーマの ALERT_HISTORY ビューからこの情報にアクセスすることもできます。ビューとテーブル関数の違いの詳細については、 Account UsageとInformation Schemaの違い をご参照ください。
注釈
この関数は、過去7日間以内のアラート実行、または次の8日間以内にスケジュールされた次回の実行を返します。
構文¶
ALERT_HISTORY(
[ SCHEDULED_TIME_RANGE_START => <constant_expr> ]
[, SCHEDULED_TIME_RANGE_END => <constant_expr> ]
[, RESULT_LIMIT => <integer> ]
[, ALERT_NAME => '<string>' ] )
引数¶
すべての引数はオプションです。
SCHEDULED_TIME_RANGE_START => constant_expr
、 .SCHEDULED_TIME_RANGE_END => constant_expr
アラートの条件の評価がスケジュールされた過去7日以内の時間範囲(TIMESTAMP_LTZ 形式)。
SCHEDULED_TIME_RANGE_END
が指定されていない場合、関数はすでに完了したアラート、現在実行中のアラート、または将来スケジュールされるアラートを返します。SCHEDULED_TIME_RANGE_END
が CURRENT_TIMESTAMP の場合、関数はすでに完了したアラートまたは現在実行中のアラートを返します。現在時刻の直前に実行されるアラートは、スケジュール済みとして識別される場合があります。
注釈
開始時刻または終了時刻が指定されていない場合は、指定された RESULT_LIMIT 値までの最新のアラートが返されます。
時間範囲が過去7日以内に収まらない場合、エラーが返されます。
RESULT_LIMIT => integer
関数によって返される行の最大数を指定する数です。
一致する行の数がこの制限よりも大きい場合は、指定された制限まで、最新のタイムスタンプを持つアラート実行が返されます。
範囲:
1
~10000
デフォルト:
100
。ALERT_NAME => string
アラートを指定する、大文字と小文字を区別しない文字列。修飾されていないアラート名のみがサポートされています。指定されたアラートの実行のみが返されます。複数のアラートに同じ名前が付けられている場合、関数はこれらの各アラートの履歴を返すことに注意してください。
使用上の注意¶
ACCOUNTADMIN ロール、アラート所有者(つまり、アラートに対する OWNERSHIP 権限を持つロール)の結果のみを返します。
この関数は、
RESULT_LIMIT
引数値に設定されている行数を返します。最大値は10,000行です。デフォルト値は100
です。ALERT_HISTORY 関数がクエリされると、そのアラート名、時間範囲、および結果制限引数が 最初 に適用され、指定されている場合はそれぞれ WHERE 句と LIMIT 句が続くことに注意してください。さらに、 ALERT_HISTORY 関数は SCHEDULED_TIME の降順で記録を返します。完了した(つまり、 SUCCEEDED、 FAILED、または CANCELLED 状態の)アラートは、より早くスケジュールされる傾向があるため、通常、後で検索結果に表示された順に返されます。
実際には、アカウントで多数のアラートを実行している場合、特に RESULT_LIMIT 値が比較的低い場合、関数によって返される結果には、想定より少ない数の完了したアラートまたはスケジュールされたアラートのみが含まれる可能性があります。すでに実行されているアラートの履歴をクエリするには、
SCHEDULED_TIME_RANGE_START => constant_expr
および/またはSCHEDULED_TIME_RANGE_END => constant_expr
引数の組み合わせを使用することをSnowflakeはお勧めします。Information Schemaテーブル関数を呼び出す場合、セッションには使用中の INFORMATION_SCHEMA スキーマ または 完全修飾の関数名が必要です。詳細については、 Snowflake Information Schema をご参照ください。
この関数は、過去7日以内に実行されたすべての実行または次の8日以内にスケジュールされた実行を返すことができます。
出力¶
ALERT_HISTORY テーブル関数は、アラート実行ごとに1つの行を生成します。各行には次の列が含まれます。
列名 |
データ型 |
説明 |
---|---|---|
NAME |
TEXT |
アラートの名前。 |
DATABASE_NAME |
TEXT |
アラートを含むデータベースの名前。 |
SCHEMA_NAME |
TEXT |
アラートを含むスキーマの名前。 |
CONDITION |
TEXT |
アラートの条件として機能する SQL ステートメントのテキスト。 |
CONDITION_QUERY_ID |
TEXT |
アラートの条件として実行される SQL ステートメントの内部/システム生成識別子。 |
ACTION |
TEXT |
アラートのアクションとして機能する SQL ステートメントのテキスト。 |
ACTION_QUERY_ID |
TEXT |
アラートのアクションとして実行される SQL ステートメントの内部/システム生成識別子。 |
STATE |
TEXT |
アラートのステータス。これは、次のいずれかになります。
|
SQL_ERROR_CODE |
NUMBER |
アラートがエラーを返した場合、または実行に失敗した場合(例: 現在のユーザーがアラートを実行する権限を持っていない場合)のエラーコード。 |
SQL_ERROR_MESSAGE |
VARCHAR |
アラートがエラーを返した場合のエラーメッセージ。 |
SCHEDULED_TIME |
TIMESTAMP_LTZ |
アラートが実行を開始する/スケジュールされた時刻。 絶対的な精度を確保するために最善を尽くしますが、保証は、スケジュールされた時間の 前 にアラートが実行されないようにすることのみに限定されます。 |
COMPLETED_TIME |
TIMESTAMP_LTZ |
アラートが完了した時刻、または SCHEDULED_TIME が将来の場合、またはアラートがまだ実行中の場合は NULL になります。 |
例¶
アラートの実行のモニター をご参照ください。