ALTER ALERT¶
기존 경고의 속성을 수정하고 기존 경고 를 일시 중단하거나 다시 시작합니다.
- 참고 항목:
CREATE ALERT , DESCRIBE ALERT, DROP ALERT , SHOW ALERTS , EXECUTE ALERT
구문¶
ALTER ALERT [ IF EXISTS ] <name> { RESUME | SUSPEND };
ALTER ALERT [ IF EXISTS ] <name> SET
[ WAREHOUSE = <string> ]
[ SCHEDULE = '{ <number> MINUTE | USING CRON <expr> <time_zone> }' ]
[ COMMENT = '<string_literal>' ]
ALTER ALERT [ IF EXISTS ] <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER ALERT <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
ALTER ALERT [ IF EXISTS ] <name> UNSET COMMENT
ALTER ALERT [ IF EXISTS ] <name> MODIFY CONDITION EXISTS (<condition>)
ALTER ALERT [ IF EXISTS ] <name> MODIFY ACTION <action>
매개 변수¶
name
변경할 경고의 식별자입니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
{ RESUME | SUSPEND }
경고에 대해 수행할 동작을 지정합니다.
RESUME
은 일시 중단된 경고를 활성화합니다.SUSPEND
는 경고를 “일시 중단됨” 상태로 설정합니다.
경고 일정이 간격(즉,
num MINUTE
)으로 설정된 경우, 모호성을 피하기 위해 경고가 다시 시작될 때 일정의 기본 간격 시간 이 현재 시간으로 재설정됩니다.기본 간격 시간은 현재 시계 시간부터 간격 카운터를 시작합니다. 예를 들어 경고가
10 MINUTE
로 생성되고 오전 9:03에 다시 시작될 경우 경고가 오전 9:13, 오전 9:23 등에 실행됩니다. 당사는 절대 정밀도를 보장하기 위해 최선을 다하지만, 설정된 간격이 발생하기 전에 경고가 실행되지 않는다는 것만 보장합니다(예: 현재 예에서 경고는 오전 9:14에 처음 실행될 수 있지만, 오전 9:12에는 확실히 실행되지 않음).SET ...
경고를 위해 설정할 하나 이상의 속성을 지정합니다(공백, 쉼표 또는 줄 바꿈으로 구분됨).
WAREHOUSE = warehouse_name
이 경고를 실행하기 위한 컴퓨팅 리소스를 제공하는 가상 웨어하우스를 지정합니다.
SCHEDULE ...
경고의 조건을 주기적으로 평가하기 위한 일정을 지정합니다.
다음 방법 중 하나로 일정을 지정할 수 있습니다.
USING CRON expr time_zone
경고의 조건을 주기적으로 평가하기 위한 cron 식과 타임존을 지정합니다. 표준 cron 유틸리티 구문의 서브세트를 지원합니다.
cron 식은 다음 필드로 구성됩니다.
# __________ minute (0-59) # | ________ hour (0-23) # | | ______ day of month (1-31, or L) # | | | ____ month (1-12, JAN-DEC) # | | | | _ day of week (0-6, SUN-SAT, or L) # | | | | | # | | | | | * * * * *
다음 특수 문자가 지원됩니다.
특수 문자
설명
*
와일드카드. 지정된 필드에 대해 지정하면 해당 필드에 대해 모든 시간 단위에서 경고가 실행됩니다.
예를 들어 월 필드에
*
를 지정하면 경고가 매달 실행됩니다.L
“last(마지막)”를 의미합니다. day-of-month(요일) 필드에 사용하면 해당 월의 “마지막 금요일”(“5L”)과 같은 구문을 지정할 수 있습니다. day-of-month 필드에서는 해당 월의 마지막 요일을 지정합니다.
/n
주어진 시간 단위의
n
번째 인스턴스를 나타냅니다. 시간의 각 양은 독립적으로 계산됩니다.예를 들어, 월 필드에
4/3
이 지정된 경우 조건의 평가는 4월, 7월, 10월로 예약됩니다(즉, 해당 연도의 4번째 달부터 3개월마다).다음 해에도 동일한 일정이 유지됩니다. 즉, 조건은 1월(10월 실행 후 3개월)에 실행되도록 예약되지 않습니다.
참고
cron 식은 현재 지정된 타임존에 대해서만 계산됩니다. 계정에 대한 TIMEZONE 매개 변수 값을 변경하는 것(또는 사용자 또는 세션 수준에서 값을 설정)은 경고의 타임존을 변경하지는 않습니다.
cron 식은 경고의 조건 평가를 위한 모든 유효한 시간을 정의합니다. Snowflake는 이 일정에 따라 조건을 평가하려고 시도합니다. 그러나 다음 유효한 실행 시간이 시작되기 전에 이전 실행이 완료되지 않은 경우, 유효한 실행 시간을 건너뜁니다.
특정 일자와 요일이 cron 식에 포함된 경우, 일자 또는 요일 중 하나를 만족하는 날짜에 조건 평가가 예약됩니다. 예를 들어,
SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC'
는 해당 월의 10일에서 20일 사이에서 0AM에 평가를 예약하고 해당 날짜 이외의 모든 화요일이나 목요일에도 작업을 예약합니다.
num MINUTE
경고 평가 사이에 삽입되는 대기 시간의 간격(분)을 지정합니다. 양의 정수만 허용합니다.
또한
num M
구문을 지원합니다.모호성을 피하기 위해 경고가 재개될 때 기본 간격 시간 이 설정됩니다(ALTER ALERT … RESUME 사용).
기본 간격 시간은 현재 시계 시간부터 간격 카운터를 시작합니다. 예를 들어 경고가
10 MINUTE
로 생성되고 오전 9:03에 다시 시작될 경우 경고의 조건이 오전 9:13, 오전 9:23 등에 평가됩니다. 당사는 절대 정밀도를 보장하기 위해 최선을 다하지만, 설정된 간격이 발생하기 전에 조건이 평가되지 않는다는 것만 보장합니다(예: 현재 예에서 조건은 오전 9:14에 처음 평가될 수 있지만, 오전 9:12에는 확실히 평가될 수 없음).참고
지원되는 최대값은
11520
(8일)입니다.num MINUTE
값이 더 큰 경고는 조건이 평가된 적 없습니다.
COMMENT = 'string_literal'
경고에 대한 설명을 지정합니다.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
태그 이름과 태그 문자열 값을 지정합니다.
태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.
문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트 및 열에 대한 태그 할당량 섹션을 참조하십시오.
UNSET ...
경고에 대해 설정 해제할 하나 이상의 속성/매개 변수를 지정하여 이들을 다시 기본값으로 재설정합니다.
TAG tag_key [ , tag_key ... ]
COMMENT
MODIFY CONDITION EXISTS (condition)
경고 조건을 나타내는 SQL 문을 지정합니다. 다음 명령을 사용할 수 있습니다.
문이 하나 이상의 행을 반환하면 경고에 대한 동작이 실행됩니다.
MODIFY ACTION action
조건이 행을 하나 이상 반환하는 경우 실행해야 하는 SQL 문을 지정합니다.
이메일 알림을 보내려면 SYSTEM$SEND_EMAIL() 저장 프로시저를 호출하면 됩니다.
액세스 제어 요구 사항¶
이 SQL 명령을 실행하려면 최소한 다음 권한 이 있는 역할 이 필요합니다.
경고를 다시 시작하는 방법은 다음과 같습니다.
경고에 대한 OWNERSHIP 권한이 있는 역할에는 전역 EXECUTE ALERT 권한도 있어야 합니다.
ALTER ALERT를 실행하는 역할에는 경고에 대한 OPERATE 또는 OWNERSHIP 권한이 있어야 합니다.
경고를 일시 중단하려면 ALTER ALERT를 실행하는 역할에 경고에 대한 OPERATE 또는 OWNERSHIP 권한이 있어야 합니다.
경고의 속성을 수정하려면 ALTER ALERT를 실행하는 역할에 경고에 대한 OWNERSHIP 권한이 있어야 합니다.
스키마의 모든 오브젝트에 대해 작업하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한도 필요합니다.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
경고가 다시 시작되면 Snowflake는 경고에 대한 OWNERSHIP 권한을 가진 역할에 경고에 할당된 웨어하우스에 대한 USAGE 권한뿐 아니라 전역 EXECUTE ALERT 권한도 있는지 확인하며, 그렇지 않으면 오류가 생성됩니다.
계정 관리자(ACCOUNTADMIN 역할을 가진 사용자)만 역할에 EXECUTE ALERT 권한을 부여할 수 있습니다. 사용 편의성을 위해, 사용자 지정 역할(예: 경고_관리자)을 만들고 이 역할에 EXECUTE ALERT 권한을 할당하는 것이 좋습니다. 권한을 부여할 수 있는 모든 역할(예: SECURITYADMIN 또는 MANAGE GRANTS 권한을 가진 역할)은 이 사용자 지정 역할을 경고 소유자 역할에 부여하여 자체 경고를 변경하도록 허용할 수 있습니다. 사용자 지정 역할 및 역할 계층 구조를 만들기 위한 지침은 액세스 제어 구성하기 을 참조하십시오.
CREATE ALERT 또는 ALTER ALERT를 실행할 때 다음을 포함하여 조건 및 작업의 문에 대해 일부 유효성 검사가 수행되지 않습니다.
오브젝트 식별자의 확인입니다.
식 데이터 타입의 확인입니다.
함수 호출에서 인자의 수와 유형에 대한 확인입니다.
조건이나 작업에 대한 SQL 문이 유효하지 않은 식별자, 잘못된 데이터 타입, 잘못된 함수 인자 수 및 유형 등을 지정하는 경우 CREATE ALERT 및 ALTER ALERT 명령은 실패하지 않습니다. 대신 경고 실행 시 오류가 발생합니다.
기존 경고의 실패 여부를 확인하려면 ALERT_HISTORY 테이블 함수를 사용하십시오.
이러한 유형의 실패를 방지하려면 알림에 대한 조건과 작업을 지정하기 전에 해당 조건과 작업의 SQL 식과 문을 확인하십시오.
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
예¶
경고 일시 중단 및 재개하기 섹션을 참조하십시오.