ALTER RESOURCE MONITOR

ALTER RESOURCE MONITOR

기존 리소스 모니터(resource monitor)의 속성과 트리거를 수정하는 명령이에요. 이 명령으로 크레딧 할당량을 늘리거나 줄이고, 스케줄링 정보를 변경하고, 리소스 모니터의 트리거를 변경하거나 교체할 수 있어요.

출처: 문서

본문

관련 명령: CREATE RESOURCE MONITOR, DROP RESOURCE MONITOR, SHOW RESOURCE MONITORS, ALTER WAREHOUSE, ALTER ACCOUNT

구문 (Syntax)

ALTER RESOURCE MONITOR [ IF EXISTS ] <name> [ SET { [ CREDIT_QUOTA = <num> ]
                                                    [ FREQUENCY = { MONTHLY | DAILY | WEEKLY | YEARLY | NEVER } ]
                                                    [ START_TIMESTAMP = { <timestamp> | IMMEDIATELY } ]
                                                    [ END_TIMESTAMP = <timestamp> ]
                                                    [ NOTIFY_USERS = ( <user_name> [ , <user_name> , ... ] ) ] } ]
                                            [ TRIGGERS triggerDefinition [ triggerDefinition ... ] ]

여기서:

triggerDefinition ::=
   ON <threshold> PERCENT DO { SUSPEND | SUSPEND_IMMEDIATE | NOTIFY }

매개변수 (Parameters)

name — 수정할 리소스 모니터의 식별자를 지정해요. 식별자에 공백이나 특수 문자가 포함되어 있으면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요.

SET ...

CREDIT_QUOTA = num — 주파수 간격당 리소스 모니터에 할당된 크레딧 수를 지정해요. 모니터에 할당된 모든 웨어하우스의 총 사용량이 현재 주파수 간격에서 이 수에 도달하면 리소스 모니터는 할당량의 100%에 도달한 것으로 간주돼요. 리소스 모니터에 값이 지정되지 않으면 모니터에는 할당량이 없으며 지정된 간격 내에서 100% 사용량에 도달하지 않아요.

FREQUENCY = MONTHLY | DAILY | WEEKLY | YEARLY | NEVER — 크레딧 사용량이 0으로 리셋되는 주파수 간격이에요. 주파수로 NEVER를 지정하면 웨어하우스의 크레딧 사용량이 리셋되지 않아요.

START_TIMESTAMP = timestamp | IMMEDIATELY — 리소스 모니터가 할당된 웨어하우스의 크레딧 사용량 모니터링을 시작하는 날짜와 시간이에요. IMMEDIATELY를 지정하면 현재 타임스탬프가 사용돼요. 시간 없이 날짜만 지정하면 현재 시간이 사용돼요. 시간대를 지정하지 않고 시간만 설정하면 UTC가 기본 시간대로 사용돼요.

END_TIMESTAMP = timestamp — 리소스 모니터가 할당된 웨어하우스를 중지(suspend)하는 날짜와 시간이에요.

NOTIFY_USERS = ( user_name [ , user_name , ... ] ) — 리소스 모니터에 대한 이메일 알림을 받을 사용자 목록을 지정해요. 사용자 식별자에 공백이나 특수 문자가 포함되거나 대소문자를 구분하면 식별자를 큰따옴표로 묶어야 해요(예: "Mary Smith"). 자세한 내용은 식별자 요구사항을 참고하세요.

사용자 식별자 user_nameSHOW USERS 출력의 name 열 값이에요.

나열된 각 사용자는 확인된 이메일 주소가 있어야 해요. 웹 인터페이스에서 이메일 주소를 확인하는 방법은 이메일 주소 확인을 참고하세요.

관리자가 아닌 사용자에 대한 이메일 알림은 관리자에 대한 이메일 알림을 대체하지 않아요. 이메일 알림을 활성화한 계정 관리자는 계속 이메일 알림을 받아요.

참고: 관리자가 아닌 사용자에게는 다음 제한이 적용돼요:

  • 관리자가 아닌 사용자는 웨어하우스 모니터에 대한 알림만 받을 수 있어요.
  • 관리자가 아닌 사용자는 이메일로 알림을 받지만 Snowsight에서는 알림을 볼 수 없어요.
  • 관리자가 아닌 사용자는 리소스 모니터를 만들 수 없어요.
  • 관리자가 아닌 사용자는 알림을 받을 다른 사용자를 할당할 수 없어요.

TRIGGERS ... (일명 actions) — 리소스 모니터의 하나 이상의 트리거를 지정해요. 각 트리거 정의는 다음으로 구성돼요:

  • ON threshold PERCENT (사용량 비율; 100보다 큰 값도 지원)
  • DO SUSPEND | SUSPEND_IMMEDIATE | NOTIFY (임계값에 도달했을 때 수행할 작업).

자세한 내용은 CREATE RESOURCE MONITOR를 참고하세요.

사용 메모 (Usage notes)

  • 리소스 모니터에 SUSPEND 또는 SUSPEND_IMMEDIATE 트리거가 활성화되어 있고 지정된 주파수 간격에서 트리거 임계값에 도달해 모든 할당 웨어하우스의 시작/재개가 방지된 경우, 이 명령으로 크레딧 할당량을 트리거 임계값 위로 올리거나 트리거를 더 높은 임계값의 새 트리거로 교체할 수 있어요. 크레딧 할당량이나 트리거 임계값을 올리면 할당된 웨어하우스를 시작하거나 재개할 수 있어요.
  • TRIGGERS 매개변수는 가산적(additive)이 아니에요. 리소스 모니터의 기존 트리거를 모두 제거하고 지정된 트리거로 교체해요. 결과적으로 기존 트리거에 추가하려면 새 트리거를 지정하고 기존 트리거도 다시 지정해야 해요. 기존 트리거를 다시 지정하면 소비가 트리거 비율에 도달했는지 재평가하고 도달했다면 또 다른 알림을 보내요. 예를 들어 70%에서 알림이 전송됐고 현재 소비가 90%라고 가정해요. 70% 트리거를 지정하는 ALTER 명령을 실행하면 즉시 새 알림이 전송돼요.
  • 리소스 모니터에 frequencystart_timestamp 매개변수가 설정되면 크레딧 사용량 리셋일은 해당 매개변수를 기반으로 계산돼요. 크레딧 사용량이 0으로 리셋되는 시간은 start_timestamp에 지정된 시간과 무관하게 12:00 AM UTC예요.
  • end_timestamp를 지정하면 지정된 날짜와 시간에 모니터링이 종료되고, 크레딧 할당량에 도달하지 않았어도 지정된 날짜와 시간에 모든 할당 웨어하우스가 중지돼요. 이때 리소스 모니터가 할당량의 일정 비율에 도달해 중지 즉시(suspend immediate) 작업을 트리거했음을 알리는 알림이 전송돼요. 할당량 비율은 종료일까지 현재 간격에서 사용된 크레딧 수를 반영하며, 지정한 임계값이 아닐 수 있어요.
  • 알림 목록에 관리자가 아닌 사용자가 있으면 다음 사항이 적용돼요:
    • 알림 목록의 사용자가 확인된 이메일이 없으면 SQL 문이 실패해요.
    • 알림 목록의 사용자가 이메일 주소를 바꾸고 새 주소를 확인하지 않으면 알림이 조용히 실패해요.
    • 알림 목록은 최대 5명의 관리자가 아닌 사용자로 제한돼요.
    • 계정 관리자는 SHOW RESOURCE MONITORS 출력의 notify_user 열에서 관리자가 아닌 사용자의 알림 목록을 볼 수 있어요.
  • 메타데이터 관련: Snowflake 서비스를 사용할 때 메타데이터로 개인 데이터(User 객체 외), 민감한 데이터, 수출 통제 데이터 또는 기타 규제 대상 데이터를 입력하지 않도록 주의해야 해요. 자세한 내용은 Snowflake의 메타데이터 필드를 참고하세요.

예시 (Examples)

리소스 모니터 limiter에 새 크레딧 할당량을 지정하고 기존 트리거를 새 트리거 집합으로 교체해요.

ALTER RESOURCE MONITOR limiter
  SET CREDIT_QUOTA=2000
  TRIGGERS ON 80 PERCENT DO NOTIFY
           ON 100 PERCENT DO SUSPEND_IMMEDIATE;

크레딧 할당량의 80%에 도달하면 세 사용자에게 알림을 보내도록 리소스 모니터를 변경해요. 이 예시에서 두 사용자의 user_name에는 공백이 있어 큰따옴표로 묶어요.

ALTER RESOURCE MONITOR limiter
  SET CREDIT_QUOTA = 2000
      NOTIFY_USERS = (JDOE, "Jane Smith", "John Doe")
  TRIGGERS ON 80 PERCENT DO NOTIFY
           ON 100 PERCENT DO SUSPEND_IMMEDIATE

더 알아보기 (Learn more)