CREATE APPLICATION PACKAGE¶
Native Apps Framework를 사용하여 애플리케이션의 데이터 콘텐츠 및 애플리케이션 논리를 포함하는 새 애플리케이션 패키지를 만듭니다. 애플리케이션 패키지는 다음을 지정하는 기능이 추가된 데이터베이스입니다.
애플리케이션의 버전.
애플리케이션에서 사용할 수 있는 데이터 콘텐츠.
구문¶
CREATE APPLICATION PACKAGE [ IF NOT EXISTS ] <name>
[ DATA_RETENTION_TIME_IN_DAYS = <integer> ]
[ MAX_DATA_EXTENSION_TIME_IN_DAYS = <integer> ]
[ DEFAULT_DDL_COLLATION = '<collation_specification>' ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
[ DISTRIBUTION = { INTERNAL | EXTERNAL } ]
필수 매개 변수¶
name
애플리케이션 패키지의 식별자를 지정하며, 계정에 고유한 식별자여야 합니다.
또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
선택적 매개 변수¶
DATA_RETENTION_TIME_IN_DAYS = integer
애플리케이션 패키지에서 Time Travel 작업(CLONE 및 UNDROP)을 수행할 수 있는 일수뿐 아니라, 데이터베이스에서 생성된 모든 스키마의 기본 Time Travel 보존 시간도 지정합니다.
자세한 내용은 Time Travel 이해 및 사용하기 섹션을 참조하십시오.
이 오브젝트 수준 매개 변수에 대한 자세한 설명과 아울러 오브젝트 매개 변수에 대한 자세한 내용은 매개 변수 를 참조하십시오.
값:
Standard Edition:
0
또는1
Enterprise Edition:
영구 데이터베이스의 경우
0
~90
기본값:
Standard Edition:
1
Enterprise Edition 또는 그 이상:
1
(계정 수준에서 다른 기본값이 지정되지 않은 경우)
참고
0
의 값은 데이터베이스의 Time Travel을 비활성화합니다.MAX_DATA_EXTENSION_TIME_IN_DAYS = integer
Snowflake가 테이블의 스트림이 부실해지는 것을 방지하기 위해 애플리케이션 패키지에 있는 테이블의 데이터 보존 기간을 연장할 수 있는 최대 일수를 지정하는 오브젝트 매개 변수입니다.
이 매개 변수에 대한 자세한 설명은 MAX_DATA_EXTENSION_TIME_IN_DAYS 섹션을 참조하십시오.
DEFAULT_DDL_COLLATION = 'collation_specification'
애플리케이션 패키지에 추가된 모든 스키마와 테이블에 대한 기본 데이터 정렬 사양 을 지정합니다. 스키마 및 개별 테이블 수준에서 기본값을 재정의할 수 있습니다.
이 매개 변수에 대한 자세한 내용은 DEFAULT_DDL_COLLATION 을 참조하십시오.
COMMENT = 'string_literal'
애플리케이션 패키지에 대한 설명을 지정합니다.
기본값: 값 없음
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
태그 이름과 태그 문자열 값을 지정합니다.
태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.
문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트 및 열에 대한 태그 할당량 섹션을 참조하십시오.
DISTRIBUTION = { INTERNAL | EXTERNAL }
컨슈머가 외부 조직의 애플리케이션 패키지를 기반으로 애플리케이션을 만들 수 있는지 여부를 지정합니다.
INTERNAL
은 애플리케이션 패키지가 생성된 동일한 조직 내에서 컨슈머가 애플리케이션을 만들 수 있음을 지정합니다.EXTERNAL
은 컨슈머가 다른 조직에서 애플리케이션을 만들 수 있음을 지정합니다.참고
DISTRIBUTION
매개 변수를EXTERNAL
로 설정하면 애플리케이션 패키지에 정의된 각 활성 버전 및 패치에 대해 자동화된 보안 검토가 트리거됩니다.자동화된 보안 검토가
APPROVED
상태가 될 때까지 다음 제한 사항이 적용됩니다.버전 또는 패치에 대한 릴리스 지시문을 설정할 수 없습니다.
애플리케이션 패키지 목록을 게시할 수 없습니다.
액세스 제어 요구 사항¶
이 SQL 명령을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
CREATE APPLICATION PACKAGE |
계정 |
기본적으로 ACCOUNTADMIN 역할만 이 권한을 가집니다. 필요에 따라 다른 역할에 권한을 부여할 수 있습니다. |
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
애플리케이션 패키지를 만들려면 호출자가 계정에 대해 CREATE APPLICATION PACKAGE 권한이 있어야 합니다.
애플리케이션 패키지에 상주할 수 있는 오브젝트의 유형이나 그러한 오브젝트를 소유할 수 있는 역할(데이터베이스 또는 계정 수준)에 대한 제한은 없습니다.
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
예¶
CREATE APPLICATION PACKAGE hello_snowflake_package;
+-----------------------------------------------------------------------+
| status |
|-----------------------------------------------------------------------|
| Application Package 'hello_snowflake_package' created successfully. |
+-----------------------------------------------------------------------+