カテゴリ:

システム関数 (システム情報)

SYSTEM$GET_ALERT_CONFIG

アラート 構成から情報を返します。

アラートでの構成値の保存に関する情報については、 CREATE ALERT ... CONFIG をご参照ください。

構文

SYSTEM$GET_ALERT_CONFIG( [<configuration_path>] )

引数

configuration_path

返す構成値のオプションパス。

半構造化データ用のSnowflakeクエリと同じ構文を使用します。詳細については、GET_PATH をご参照ください。

省略すると、この関数は構成全体を JSON 文字列として返します。

戻り値

構成内の指定されたパスにある値、またはパスが指定されていない場合は JSON 文字列全体。

アラートに構成が設定されていない場合は NULL を返します。

使用上の注意

  • この関数は、アラート実行中(アラートの条件またはアクションSQL 内)にのみ呼び出すことができます。アラートランタイム外で呼び出すとエラーが発生します。

  • 構成値を特定の型に変換する場合は、TRY_TO_NUMBERTRY_TO_BOOLEAN などの保護的なキャスト関数を使用します。COALESCE を使用して、構成が NULL である可能性がある場合のデフォルト値を指定します。

次の例では、構成付きアラートを作成し、SYSTEM$GET_ALERT_CONFIG を使用して条件とアクションの両方の値を読み取っています。

CREATE OR REPLACE ALERT my_metric_threshold_alert
  WAREHOUSE = my_alert_wh
  SCHEDULE = '5 MINUTE'
  CONFIG = $${
    "enabled": true,
    "threshold": 10,
    "notify": "ops"
  }$$
  IF( EXISTS(
    SELECT 1
      FROM my_db.my_schema.my_source_table
      WHERE COALESCE(TRY_TO_BOOLEAN(SYSTEM$GET_ALERT_CONFIG('enabled')), FALSE)
        AND metric_value > COALESCE(
          TRY_TO_NUMBER(SYSTEM$GET_ALERT_CONFIG('threshold')), 0)
  ))
  THEN
    INSERT INTO my_db.my_schema.my_output_table
      SELECT CURRENT_TIMESTAMP(), SYSTEM$GET_ALERT_CONFIG('notify');