CREATE ORGANIZATION LISTING
CREATE ORGANIZATION LISTING
조직 내에서 데이터 제품을 안전하게 공유하기 위해 조직 리스팅(organization listing)을 만드는 명령이에요. 조직 리스팅은 조직 내부 마켓플레이스(Internal Marketplace)에 게시할 데이터 제품을 정의해요.
출처: 문서
본문
조직 내에서 데이터 제품을 안전하게 공유하기 위해 조직 리스팅을 만들어요.
구문 (Syntax)
CREATE ORGANIZATION LISTING [ IF NOT EXISTS ] <name>
[ { SHARE <share_name> | APPLICATION PACKAGE <package_name> } ]
AS '<yaml_manifest_string>'
[ PUBLISH = { TRUE | FALSE } ]
CREATE ORGANIZATION LISTING [ IF NOT EXISTS ] <name>
[ { SHARE <share_name> | APPLICATION PACKAGE <package_name> } ]
FROM '<yaml_manifest_stage_location>'
[ PUBLISH = { TRUE | FALSE } ]
매개변수 (Parameters)
name
리스팅의 식별자(이름)를 지정해요. 다음 규칙을 따라야 해요.
- 계정이 어느 Snowflake 리전에 있든 계정 안에서 고유해야 해요. ULL(Uniform Listing Locator)은 조직 안에서 고유해야 해요.
- 포함된 달러 기호($)를 포함할 수 없어요.
- Snowflake 식별자 요구 사항을 따라야 해요. 식별자 요구 사항(Identifier requirements)을 참고해요.
FROM 'yaml_manifest_stage_location'
내부 스테이지 또는 Git 저장소 클론의 manifest.yml 파일 경로를 지정해요.
SHARE share_name
리스팅에 연결할 셰어(share)의 식별자를 지정해요.
APPLICATION PACKAGE package_name
리스팅에 연결된 애플리케이션 패키지를 지정해요. SHOW APPLICATION PACKAGES도 함께 참고해요.
AS 'yaml_manifest_string'
조직 프로필의 YAML 매니페스트예요. 매니페스트 필드 세부 사항과 예시는 조직 리스팅 매니페스트 참조(Organization listing manifest reference)를 참고해요.
매니페스트는 일반적으로 달러 기호 인용 문자열(dollar-quoted string)로 제공돼요. 자세한 내용은 달러 기호 인용 문자열 상수(Dollar-quoted string constants)를 참고해요.
PUBLISH = { TRUE | FALSE }
리스팅을 게시하는 방법을 지정해요.
- TRUE이면 리스팅이 즉시 내부 마켓플레이스에 게시돼요.
- 기본값: TRUE
접근 제어 요구 사항 (Access control requirements)
이 작업을 실행하는 데 사용하는 역할(role)은 최소한 다음 권한을 가져야 해요.
| 권한 (Privilege) | 객체 (Object) | 비고 |
|---|---|---|
| CREATE ORGANIZATION LISTING 또는 CREATE LISTING | Account | 조직 리스팅을 만들고 수정하려면 필요해요. |
이 SQL 명령을 실행하는 데 사용하는 역할(role)은 최소한 다음 권한 중 하나를 가져야 해요.
| 권한 (Privilege) | 객체 (Object) | 비고 |
|---|---|---|
| CREATE ORGANIZATION LISTING | ACCOUNT | 지정된 셰어 또는 지정된 Snowflake Native App Framework를 리스팅에 연결하려면 필요해요. Snowflake Native App Framework를 지정할 때는 OWNERSHIP 또는 ATTACH LISTING도 필요해요. |
| IMPORT ORGANIZATION LISTING | ACCOUNT | 리스팅을 마운트하거나 ULL(Uniform Listing Locator)을 사용해 조직 리스팅을 참조하는 쿼리를 실행하려면 필요해요. |
사용 메모 (Usage notes)
CREATE ORGANIZATION LISTING …으로 만든 리스팅은 자동으로 게시돼요.
예시 (Examples)
이 예시는 매니페스트 YAML에 지정된 설정을 사용해 MYORGLISTING이라는 리스팅을 만들어요. 한 리전의 한 계정에 있는 하나의 역할을 대상으로 하며 지원(support) 및 승인(approver) 연락처를 포함해요.
참고:
support_contact는 필수예요.discovery대상이 제공되면approver_contact가 필수예요.
USE ROLE <organization_listing_role>;
CREATE ORGANIZATION LISTING MYORGLISTING
SHARE <share_name> AS
$$
title: "My title"
description: "One region, all accounts"
organization_profile: "INTERNAL"
organization_targets:
discovery:
- account: "<account_name>"
roles:
- "<role>"
access:
- account: "<account_name>"
roles:
- "<role>"
support_contact: "[email protected]"
approver_contact: "[email protected]"
locations:
access_regions:
- name: "PUBLIC.<snowflake_region>"
$$
특정 스테이지 위치에서 'MYLISTING'이라는 초안(draft) 리스팅을 만들어요. 다음 예시에서 manifest.yml 파일은 listingstage라는 스테이지의 listingmanifests 폴더에 있어요.
CREATE ORGANIZATION LISTING MYLISTING
SHARE MySHARE FROM @dbforstage.public.listingstage/listingmanifests;
더 알아보기 (Learn more)
- 조직 리스팅 매니페스트 참조 — 매니페스트 필드와 예시
- ALTER ORGANIZATION LISTING — 조직 리스팅 수정