Kategorien:

Systemfunktionen (Systeminformationen)

SYSTEM$GET_ALERT_CONFIG

Gibt Informationen aus einer Alert-Konfiguration zurück.

Informationen zum Speichern von Konfigurationswerten in einem Alert finden Sie unter CREATE ALERT … CONFIG.

Syntax

SYSTEM$GET_ALERT_CONFIG( [<configuration_path>] )

Argumente

configuration_path

Optionaler Pfad zum Konfigurationswert, der zurückgegeben werden soll.

Verwendet die gleiche Syntax wie Snowflake-Abfragen für semistrukturierte Daten. Weitere Informationen dazu finden Sie unter GET_PATH.

Wenn die Funktion weggelassen wird, gibt sie die gesamte Konfiguration als JSON-Zeichenfolge zurück.

Rückgabewerte

Der Wert unter dem angegebenen Pfad in der Konfiguration oder die vollständige JSON-Zeichenfolge, wenn kein Pfad angegeben ist.

Gibt NULL zurück, wenn für den Alert keine Konfiguration festgelegt ist.

Nutzungshinweise

  • Diese Funktion kann nur während der Ausführung des Alerts aufgerufen werden (in der Bedingung oder Aktions-SQL des Alerts). Der Aufruf außerhalb der Alert-Laufzeit führt zu einem Fehler.

  • Verwenden Sie defensive Umwandlungsfunktionen wie TRY_TO_NUMBER und TRY_TO_BOOLEAN bei der Konvertierung von Konfigurationswerten in bestimmte Typen. Verwenden Sie COALESCE, um Standardwerte bereitzustellen, wenn die Konfiguration NULL lauten könnte.

Beispiele

Das folgende Beispiel erstellt einen Alert mit einer Konfiguration und verwendet SYSTEM$GET_ALERT_CONFIG, um Werte sowohl in der Bedingung als auch in der Aktion zu lesen:

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');