Catégories :

Fonctions système (Informations système)

SYSTEM$GET_ALERT_CONFIG

Renvoie des informations d’une configuration d’alerte.

Pour plus d’informations sur le stockage des valeurs de configuration sur une alerte, consultez CREATE ALERT … CONFIG.

Syntaxe

SYSTEM$GET_ALERT_CONFIG( [<configuration_path>] )

Arguments

configuration_path

Chemin facultatif de la valeur de configuration à renvoyer.

Utilise la même syntaxe que les requêtes Snowflake pour les données semi-structurées. Pour plus d’informations, voir GET_PATH.

Si omise, la fonction renvoie la configuration entière sous forme de chaîne JSON.

Renvoie

La valeur au chemin spécifié dans la configuration, ou l’ensemble de la chaîne JSON si aucun chemin n’est spécifié.

Renvoie NULL si aucune configuration n’est définie sur l’alerte.

Notes sur l’utilisation

  • Cette fonction ne peut être appelée que pendant l’exécution de l’alerte (dans la condition ou l’action SQL de l’alerte). L’appeler en dehors de l’environnement d’exécution de l’alerte génère une erreur.

  • Utilisez des fonctions de casting défensives telles que TRY_TO_NUMBER et TRY_TO_BOOLEAN lors de la conversion des valeurs de configuration en types spécifiques. Utilisez COALESCE pour fournir des valeurs par défaut lorsque la configuration peut être NULL.

Exemples

L’exemple suivant crée une alerte avec une configuration et utilise SYSTEM$GET_ALERT_CONFIG pour lire les valeurs dans la condition et l’action :

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