앱의 버전 및 패치 만들기¶
이 항목에서는 애플리케이션 패키지에 버전과 패치를 추가하는 방법을 설명합니다.
버전 및 패치에 대한 일반적인 정보와 앱 업데이트 및 업그레이드에 사용되는 방법은 앱 버전 및 패치 정보 섹션을 참조하십시오.
애플리케이션 패키지에 버전 또는 패치 추가하기¶
앱의 버전과 패치는 애플리케이션 패키지에 정의되어 있습니다.
애플리케이션 패키지에 버전이나 패치를 추가한 후 공급자는 해당 버전이나 패치를 기반으로 애플리케이션 오브젝트를 생성하여 로컬에서 변경 사항을 테스트할 수 있습니다.
자세한 내용은 버전 또는 패치 수준에서 애플리케이션 오브젝트 만들기 섹션을 참조하십시오.
버전 및 패치를 추가하거나 제거하는 데 필요한 권한¶
애플리케이션 패키지의 버전이나 패치를 지정하려면 애플리케이션 패키지에 대해 다음 권한 중 하나를 자신의 역할에 부여해야 합니다.
OWNERSHIP
MANAGE VERSIONS
예를 들어 애플리케이션 패키지에 대한 MANAGE VERSION 권한을 release_mgr
역할에 부여하려면 다음 예와 같이 GRANT <권한> 명령을 사용하십시오.
GRANT MANAGE VERSIONS ON APPLICATION PACKAGE hello_snowflake_package
TO ROLE release_mgr;
애플리케이션 패키지에 버전 추가하기¶
SQL 을 사용하여 애플리케이션 패키지에 버전을 추가하려면 ALTER APPLICATION PACKAGE 명령을 실행합니다.
ALTER APPLICATION PACKAGE MyAppPackage
ADD VERSION v1
USING '@dev_stage/v1'
LABEL = 'MyApp Version 1.0';
이 예에서 v1
은 버전의 식별자입니다. 이 식별자는 애플리케이션을 설치할 때 컨슈머에게 표시되지 않습니다. 컨슈머에게는 LABEL 절에 정의된 대로 버전 정보가 표시됩니다.
조심
한 애플리케이션에 대해 동시에 존재할 수 있는 버전 수는 2개뿐입니다. 자세한 내용은 앱 버전 및 패치 정보 섹션을 참조하십시오.
manifest.yml
파일에서 버전 이름과 레이블을 정의하거나 ALTER APPLICATION PACKAGE 명령으로 이들을 직접 지정할 수 있습니다. manifest.yml
파일에서 버전 이름과 레이블을 정의할 뿐 아니라 SQL 명령으로도 정의하는 경우 SQL 명령에 지정된 값이 manifest.yml
파일에 지정된 값보다 우선합니다.
애플리케이션 패키지에 패치 추가하기¶
앱의 버전을 만드는 것 외에 특정 버전에 대한 패치를 만들 수도 있습니다. 버전과 마찬가지로, 앱 패치에도 자체 애플리케이션 파일이 있습니다.
애플리케이션 패키지에 대한 새 패치를 만들려면 다음 예와 같이 ALTER APPLICATION PACKAGE … VERSION 명령의 ADD PATCH FOR VERSION 절을 사용하십시오.
ALTER APPLICATION PACKAGE MyAppPackage
ADD PATCH FOR VERSION V1_0
USING '@dev_stage/v1_0_p1;
이 예제에서는 ADD PATCH FOR VERSION V1_0 절에 패치 번호가 제공되지 않습니다. 이 경우 Snowflake는 자동으로 패치 번호를 1씩 증가시킵니다.
사용자 지정 패치 번호로 애플리케이션 패키지에 대한 새 패치를 만들려면 다음 예와 같이 ALTER APPLICATION PACKAGE … VERSION 명령의 ADD PATCH FOR VERSION 절에 패치 번호를 지정하십시오.
ALTER APPLICATION PACKAGE MyAppPackage
ADD PATCH 3
FOR VERSION V1_0
USING '@dev_stage/v1_p1;
애플리케이션 패키지에서 버전 및 패치 보기¶
공급자로서 애플리케이션 패키지에서 SHOW VERSIONS 명령을 실행하여 애플리케이션에 대해 정의된 버전과 패치를 볼 수 있습니다.
다음 명령으로 hello_snowflake_package
라는 애플리케이션 패키지에 대해 정의된 버전과 패치를 표시합니다.
SHOW VERSIONS IN APPLICATION PACKAGE hello_snowflake_package;
애플리케이션 패키지에서 버전 제거하기¶
애플리케이션 패키지에서 버전을 제거하려면 현재 제거하려는 버전을 가리키는 릴리스 지시문 이 없는지 확인해야 합니다.
릴리스 지시문 보기에 대한 자세한 내용은 애플리케이션 패키지에 대한 릴리스 지시문 보기 섹션을 참조하십시오.
애플리케이션 패키지에서 버전을 제거하려면 다음 예와 같이 ALTER APPLICATION PACKAGE 명령의 DROP VERSION 절을 사용하십시오.
ALTER APPLICATION PACKAGE hello_snowflake_package
DROP VERSION v1_0;
이 명령을 실행한 후에는 설치된 앱 인스턴스가 모두 삭제될 때까지 버전이 삭제되지 않습니다. drop 명령의 상태를 확인하려면 다음 예제와 같이 SHOW VERSIONS 를 사용하십시오.
SHOW VERSIONS IN APPLICATION PACKAGE hello_snowflake_package;
dropped_on
열에는 drop이 시작되었을 때의 타임스탬프가 나열됩니다.
참고
삭제된 버전은 상태가 DROPPED
인 동안에만 이 명령의 출력에 나타납니다. 설치된 앱 인스턴스가 모두 삭제되면 삭제된 버전이 더 이상 표시되지 않습니다.
버전이 삭제되면 컨슈머가 더 이상 해당 앱 버전의 새 인스턴스를 설치할 수 없습니다.
애플리케이션이 컨슈머에게 게시되는 방식에 따라 버전이 삭제되는 데 걸리는 시간이 다를 수 있습니다.
애플리케이션 패키지가 컨슈머에게 게시되지 않은 경우 버전은 즉시 삭제됩니다.
애플리케이션 패키지가 단일 리전 내에서 공개 또는 비공개 목록으로 게시된 경우 해당 버전은 즉시 삭제됩니다.
애플리케이션 패키지가 애플리케이션 패키지와 동일한 리전 내에서 공유되는 목록의 데이터 제품으로 게시된 경우 해당 버전은 몇 시간 내에 삭제됩니다.
애플리케이션 패키지가 클라우드 간 자동 복제 를 사용하여 목록의 데이터 제품으로 게시된 경우 버전이 모든 리전에서 삭제되는 데 시간이 더 오래 걸릴 수 있습니다.