SYSTEM$GET_ALERT_CONFIG

SYSTEM$GET_ALERT_CONFIG

알림(alert) 구성에서 정보를 반환해요.

알림에 구성 값을 저장하는 방법에 대한 정보는 CREATE ALERT … CONFIG를 참고하세요.

출처: Snowflake SYSTEM$GET_ALERT_CONFIG 함수 문서

본문

구문 (Syntax)

SYSTEM$GET_ALERT_CONFIG( [<configuration_path>] )

인자 (Arguments)

  • configuration_path — 선택 사항. 반환할 구성 값의 경로예요. 반정형(semi-structured) 데이터에 대한 Snowflake 쿼리와 동일한 구문을 사용해요. 자세한 내용은 GET_PATH를 참고하세요. 생략하면 함수가 전체 구성을 JSON 문자열로 반환해요.

반환 값 (Returns)

구성에서 지정된 경로의 값이거나, 경로를 지정하지 않으면 전체 JSON 문자열이에요. 알림에 구성이 설정되어 있지 않으면 NULL을 반환해요.

사용 참고 (Usage Notes)

  • 이 함수는 알림 실행 중(알림의 조건 또는 동작 SQL에서)에만 호출할 수 있어요. 알림 런타임 밖에서 호출하면 오류가 발생해요.
  • 구성 값을 특정 유형으로 변환할 때 TRY_TO_NUMBER, TRY_TO_BOOLEAN 같은 방어적 캐스팅 함수를 사용해요. 구성이 NULL일 수 있는 경우 기본 값을 제공하려면 COALESCE를 사용해요.

예제 (Examples)

다음 예제는 구성을 가진 알림을 만들고 조건과 동작에서 모두 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');

더 알아보기