애플리케이션 서비스 변경

애플리케이션 서비스 변경 (ALTER APPLICATION SERVICE)

기존 Application Service의 구성 또는 수명 주기 상태를 수정합니다. 서비스를 일시 중지, 재개 또는 업그레이드할 수 있고, 속성을 설정하거나 해제할 수 있습니다.

참조:

CREATE APPLICATION SERVICE , DESCRIBE APPLICATION SERVICE , DROP APPLICATION SERVICE , SHOW APPLICATION SERVICES

출처: 문서

본문

구문

ALTER APPLICATION SERVICE [ IF EXISTS ]  { SUSPEND | RESUME }

ALTER APPLICATION SERVICE [ IF EXISTS ] 
  UPGRADE [ TO VERSION  ]

ALTER APPLICATION SERVICE [ IF EXISTS ]  SET
  [ AUTO_RESUME = { TRUE | FALSE } ]
  [ AUTO_SUSPEND_SECS =  ]
  [ EXTERNAL_ACCESS_INTEGRATIONS = (  [ , ... ] ) ]
  [ QUERY_WAREHOUSE =  ]
  [ MIN_INSTANCES =  ]
  [ MAX_INSTANCES =  ]
  [ COMMENT = '' ]

ALTER APPLICATION SERVICE [ IF EXISTS ]  UNSET
  {
    AUTO_RESUME                  |
    AUTO_SUSPEND_SECS            |
    EXTERNAL_ACCESS_INTEGRATIONS |
    QUERY_WAREHOUSE              |
    MIN_INSTANCES                |
    MAX_INSTANCES                |
    COMMENT
  }
  [ , ... ]

매개변수

name

변경할 Application Service의 식별자를 지정합니다.

식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자는 대소문자를 구분합니다.

자세한 내용은 식별자 요구 사항을 참조하세요.

{"{"} SUSPEND | RESUME {"}"}

서비스를 일시 중단하거나 재개합니다. 서비스가 일시 중단되면 Snowflake는 컨테이너를 중지하고 컴퓨팅 비용 청구를 중지합니다. 서비스를 재개하면 Snowflake는 현재 배포된 패키지 버전을 사용하여 컨테이너를 시작합니다.

UPGRADE [ TO VERSION version_alias ]

서비스를 패키지의 다른 버전으로 업그레이드합니다.

  • TO VERSION을 생략하고 서비스가 LATEST 같은 버전 별칭(alias)으로 생성된 경우, Snowflake는 별칭을 현재 대상 버전으로 다시 확인하고 해당 버전으로 업그레이드합니다.
  • TO VERSION을 생략하고 서비스가 구체적인 버전 이름으로 생성된 경우, 명령은 버전을 지정하라는 오류를 반환합니다.
  • TO VERSION을 지정하면 VERSION$4 같은 버전 이름이나 LATEST 같은 별칭을 전달할 수 있습니다.

확인된 대상 버전이 실행 중인 버전과 같으면 업그레이드는 아무 작업도 수행하지 않습니다(no-op).

SET ...

서비스에 하나 이상의 속성을 설정합니다. SET 절에 나열되지 않은 속성은 변경되지 않습니다. 매개변수 설명은 CREATE APPLICATION SERVICE를 참조하세요.

UNSET ...

속성을 제거하여 기본값으로 재설정합니다.

접근 제어 요구 사항

이 작업을 실행하는 데 사용되는 역할은 최소한 다음 권한을 보유해야 합니다.

권한 객체 참고
OPERATE Application Service SUSPEND, RESUME, UPGRADE, SET, UNSET에 필요합니다.
READ Artifact repository UPGRADE가 대상 패키지 버전을 확인하는 데 필요합니다.

스키마의 객체를 조작하려면 상위 데이터베이스에 대한 권한이 하나 이상 필요하고 상위 스키마에 대한 권한도 하나 이상 필요합니다.

지정된 권한 집합을 가진 사용자 지정 역할을 만드는 방법은 을 참조하세요.

보안 객체에 대해 SQL 작업을 수행하기 위한 역할 및 권한 부여에 대한 일반적인 내용은 Access Control 개요를 참조하세요.

사용 참고 사항

  • 업그레이드는 새 패키지 버전을 실행 중인 서비스에 적용합니다. Snowflake는 새 빌드를 사용하여 서비스 컨테이너를 롤링 재시작합니다.
  • 서비스를 일시 중단해도 배포된 패키지 버전은 변경되지 않습니다. 서비스는 동일한 버전으로 재개됩니다.
  • RESUME이 서비스의 런타임 이미지가 더 이상 허용되지 않아 실패하면 Snowflake는 다음과 유사한 오류를 반환합니다. Application service 'my_app' cannot be resumed because its runtime image is blocked. Upgrade the service to a new version before resuming. 지원되는 런타임 이미지를 사용하는 새 패키지 버전(예: UPGRADE 또는 snow app deploy 사용)을 배포한 다음 서비스를 재개하세요.
  • MAX_INSTANCES가 설정되지 않으면 MIN_INSTANCES와 일치합니다. 둘 다 설정되지 않으면 Snowflake는 인스턴스 하나를 실행합니다.
  • 한 문장에서 두 값을 모두 변경하려면 둘 다 같은 SET 절에 포함하세요.
  • ALTER APPLICATION SERVICE ... SET으로 SPECIFICATION을 설정할 수 없습니다. 서비스의 specification을 업데이트하려면 CREATE OR ALTER APPLICATION SERVICE를 사용하세요. specification은 서비스의 전체 의도된 상태이므로 설정하지 않은 속성은 모두 재설정합니다. ALTER APPLICATION SERVICE ... SET은 단일 속성을 제자리에서 변경하는 방법으로 계속 사용됩니다.

예제

서비스 일시 중단:

ALTER APPLICATION SERVICE my_app SUSPEND;

서비스 재개:

ALTER APPLICATION SERVICE my_app RESUME;

별칭으로 생성된 서비스를 별칭의 현재 대상으로 업그레이드(LATEST 또는 DEFAULT 다시 확인):

ALTER APPLICATION SERVICE my_app UPGRADE;

특정 버전으로 업그레이드:

ALTER APPLICATION SERVICE my_app UPGRADE TO VERSION VERSION$5;

자동 일시 중단 및 외부 액세스 변경:

ALTER APPLICATION SERVICE my_app SET
  AUTO_SUSPEND_SECS = 900
  EXTERNAL_ACCESS_INTEGRATIONS = ( my_eai, analytics_eai );

인스턴스 수 설정:

ALTER APPLICATION SERVICE my_app SET MIN_INSTANCES = 2 MAX_INSTANCES = 5;

MAX_INSTANCES를 설정 해제하여 MIN_INSTANCES와 일치시키기:

ALTER APPLICATION SERVICE my_app UNSET MAX_INSTANCES;

더 알아보기 (Learn more)