SYSTEM$GET_ALERT_TEMPLATE
SYSTEM$GET_ALERT_TEMPLATE
설정할 수 있는 변수, 해당 변수의 데이터 타입, 기본값, 허용 값, 그리고 바로 적용할 수 있는 예제 문장을 포함하여 단일 알림 템플릿의 정의를 반환해요.
SYSTEM$LIST_ALERT_TEMPLATES를 사용하여 템플릿 식별자를 발견한 다음, CREATE ALERT … FROM TEMPLATE로 알림을 만들기 전에 이 함수로 템플릿을 검사하세요.
본문
구문 (Syntax)
SYSTEM$GET_ALERT_TEMPLATE( '' )
인자 (Arguments)
template_id— 반환할 템플릿의 식별자로, SYSTEM$LIST_ALERT_TEMPLATES가 보고하는 값이에요. 식별자는 대소문자를 구분하지 않아요. 반환된 페이로드는template_id에 정규 식별자를 보고해요.
반환 값 (Returns)
단일 template 필드를 가진 JSON 객체를 반환해요. template 객체에는 SYSTEM$LIST_ALERT_TEMPLATES가 각 템플릿에 대해 보고하는 것과 동일한 메타데이터(template_id, template_version, display_name, alert_description, product, supports_new_data_schedule, default_schedule, scope, subcategories, runbook)가 포함되며, 추가로 다음이 포함돼요:
template_variables— TEMPLATE_PARAMS 절을 통해 설정할 수 있는 각 변수를 설명하는 배열이에요. 각 변수는 다음을 가져요:name— TEMPLATE_PARAMS에서 키로 사용할 변수 이름.display_name— 사람이 읽을 수 있는 이름.description— 변수를 설명하는 도움말 텍스트.data_type— 값 타입:STRING,NUMBER, 또는INTEGER.semantic_type— 값 범주:PERCENTAGE,DURATION_HOURS,COUNT,PLAIN_TEXT등.default_value— 변수를 생략할 때 사용되는 값.optional— 변수가 선택 사항이면 존재하며true. 그렇지 않으면 생략.options— 고정 값 집합을 받는 변수의 경우 허용 값 배열 (예: 모니터링 범위에 대한["ACCOUNT", "DATABASE", "SCHEMA"]).min,max,exclusive_min— 범위를 가진 숫자 변수의 경우 하한, 상한, 그리고 하한이 배타적인지 여부. 해당하지 않으면 필드는 생략.
create_syntax— 템플릿에 대한 바로 적용 가능한 CREATE ALERT … FROM TEMPLATE 문장으로, 기본값과 샘플 값으로 미리 채워져 있어요. 실행하기 전에 자리 표시자 객체 이름을 바꾸세요.alert_definition_template— 원시 템플릿 본문이에요. 이 필드는 참고용이에요.FROM TEMPLATE절로 알림을 만들 때는 필요하지 않아요.
사용 노트 (Usage Notes)
- 이 함수는 읽기 전용이에요. 실행 중인 웨어하우스가 필요하지 않아요.
- 변수에
default_value와optional: true플래그가 모두 없으면 필수예요. 별도의required필드는 없어요 — 필수 여부는default_value와optional로 파생돼요. options및min/max필드는 CREATE ALERT … FROM TEMPLATE 절이 정확히 무엇을 강제하는지 알려주므로, 문장을 실행하기 전에 이들을 사용해 유효한TEMPLATE_PARAMS값을 만들 수 있어요.- 템플릿 ID가 존재하지 않거나 액세스 권한이 없으면 함수는 "object does not exist or not authorized" 오류를 반환해요. SYSTEM$LIST_ALERT_TEMPLATES로 식별자를 검증하세요.
예제 (Examples)
TASKS_ERROR_RATE 템플릿 검사:
SELECT SYSTEM$GET_ALERT_TEMPLATE('TASKS_ERROR_RATE');
이 함수는 다음과 유사한 JSON 객체를 반환해요 (약어 표기):
{
"template": {
"template_id": "TASKS_ERROR_RATE",
"template_version": "4.0.0",
"display_name": "Error rate alert",
"alert_description": "Monitors when the cumulative error rate of tasks exceeds a threshold, indicating systematic task failures that require attention.",
"product": "TASKS",
"supports_new_data_schedule": false,
"default_schedule": "30 MINUTES",
"scope": ["Account", "Database", "Schema"],
"subcategories": null,
"runbook": "https://docs.snowflake.com/en/user-guide/tasks-ts",
"template_variables": [
{
"name": "ERROR_RATE_THRESHOLD",
"display_name": "Error rate threshold",
"description": "Trigger alert when cumulative task error rate exceeds this threshold (0.0 - 1.0).",
"data_type": "NUMBER",
"semantic_type": "PERCENTAGE",
"default_value": 0.15,
"min": 0,
"max": 1
},
{
"name": "TASK_NAME_FILTER",
"display_name": "Task name filter",
"description": "Optional filter pattern to scope alert to specific tasks (for example, 'ETL_' for tasks starting with ETL_). Leave empty to include all tasks.",
"data_type": "STRING",
"semantic_type": "PLAIN_TEXT",
"default_value": ""
},
{
"name": "SCOPE_ACTIVE",
"display_name": "Monitoring scope",
"description": "Monitoring scope for this alert.",
"data_type": "STRING",
"semantic_type": "PLAIN_TEXT",
"default_value": "ACCOUNT",
"options": ["ACCOUNT", "DATABASE", "SCHEMA"]
},
{
"name": "SCOPE_DATABASE",
"display_name": "Scope database",
"description": "Database to monitor when scope is DATABASE or SCHEMA.",
"data_type": "STRING",
"semantic_type": "PLAIN_TEXT",
"default_value": ""
},
{
"name": "SCOPE_SCHEMA",
"display_name": "Scope schema",
"description": "Schema to monitor when scope is SCHEMA.",
"data_type": "STRING",
"semantic_type": "PLAIN_TEXT",
"default_value": ""
},
{
"name": "NOTIFICATION_MODE",
"display_name": "Notification mode",
"description": "Active notification mode for this alert.",
"data_type": "STRING",
"semantic_type": "PLAIN_TEXT",
"default_value": "EMAIL",
"options": ["EMAIL", "WEBHOOK"]
},
{
"name": "EMAIL_NOTIFICATION_INTEGRATION",
"display_name": "Email notification integration",
"description": "Email notification integration name.",
"data_type": "STRING",
"semantic_type": "PLAIN_TEXT",
"default_value": ""
},
{
"name": "WEBHOOK_NOTIFICATION_INTEGRATION",
"display_name": "Webhook notification integration",
"description": "Webhook notification integration name.",
"data_type": "STRING",
"semantic_type": "PLAIN_TEXT",
"default_value": ""
}
],
"create_syntax": "CREATE OR REPLACE ALERT MY_DB.MY_SCHEMA.MY_ALERT\n FROM TEMPLATE TASKS_ERROR_RATE\n WAREHOUSE = MY_WAREHOUSE\n SCHEDULE = '30 MINUTES'\n TEMPLATE_PARAMS = '{\n \"template_variables\" : {\n \"ERROR_RATE_THRESHOLD\" : 0.15,\n \"TASK_NAME_FILTER\" : \"\",\n \"SCOPE_ACTIVE\" : \"ACCOUNT\",\n \"SCOPE_DATABASE\" : \"\",\n \"SCOPE_SCHEMA\" : \"\",\n \"NOTIFICATION_MODE\" : \"EMAIL\",\n \"EMAIL_NOTIFICATION_INTEGRATION\" : \"\",\n \"WEBHOOK_NOTIFICATION_INTEGRATION\" : \"\"\n },\n \"notification_config\" : {\n \"notification_integration\" : \"MY_EMAIL_INTEGRATION\",\n \"email_config\" : {\n \"toAddress\" : [ \"[email protected]\" ]\n }\n }\n}';"
}
}
이 예제에서 ERROR_RATE_THRESHOLD는 0과 1 사이여야 하고, SCOPE_ACTIVE는 ACCOUNT, DATABASE, SCHEMA 중 하나여야 하며, NOTIFICATION_MODE는 EMAIL 또는 WEBHOOK여야 해요. default_value가 없는 변수가 없으므로 이 템플릿의 모든 변수는 선택 사항이에요.
더 알아보기
- Snowflake 시스템 정보 함수 — 관련 시스템 함수 전체 목록