CREATE LISTING

CREATE LISTING

특정 소비자와 직접 공유하기 위해, 인라인 YAML 매니페스트 또는 스테이지 위치의 파일에서 무료 리스팅(listing)을 만드는 명령이에요. 리스팅은 Snowflake Marketplace에서 데이터 제품을 게시하는 데 사용해요.

출처: 문서

본문

특정 소비자와 직접 공유하기 위해, 인라인 YAML 매니페스트 또는 스테이지 위치의 파일에서 무료 리스팅을 만들어요.

함께 보기: ALTER LISTING, DESCRIBE LISTING, SHOW LISTINGS, SHOW VERSIONS IN LISTING, DROP LISTING, 리스팅 매니페스트 참조(Listing manifest reference)

구문 (Syntax)

CREATE EXTERNAL LISTING [ IF NOT EXISTS ] <name>
  [ { SHARE <share_name>  |  APPLICATION PACKAGE <package_name> } ]
  AS '<yaml_manifest_string>'
  [ PUBLISH = { TRUE | FALSE } ]
  [ REVIEW = { TRUE | FALSE } ]
  [ COMMENT = '<string>' ]

CREATE EXTERNAL LISTING [ IF NOT EXISTS ] <name>
  [ { SHARE <share_name>  |  APPLICATION PACKAGE <package_name> } ]
  FROM '<yaml_manifest_stage_location>'
  [ PUBLISH = { TRUE | FALSE } ]
  [ REVIEW = { TRUE | FALSE } ]

매개변수 (Parameters)

name 리스팅 식별자(이름)를 지정해요. 다음 규칙을 따라야 해요.

  • 계정이 어느 Snowflake 리전에 있든 조직 안에서 고유해야 해요.
  • 알파벳 문자로 시작해야 하며, 밑줄(_)을 제외한 공백이나 특수 문자를 포함할 수 없어요.

SHARE share_name 리스팅에 연결할 셰어(share)의 식별자를 지정해요.

APPLICATION PACKAGE package_name 리스팅에 연결된 애플리케이션 패키지를 지정해요. SHOW APPLICATION PACKAGES도 함께 참고해요.

AS 'yaml_manifest_string' 리스팅의 YAML 매니페스트를 지정해요. 매니페스트 매개변수는 리스팅 매니페스트 참조(Listing manifest reference)를 참고해요.

매니페스트는 일반적으로 달러 기호 인용 문자열로 제공돼요. 자세한 내용은 달러 기호 인용 문자열 상수(Dollar-quoted string constants)를 참고해요.

FROM 'yaml_manifest_stage_location' 내부 스테이지 또는 Git 저장소 클론의 manifest.yml 파일 경로를 지정해요.

PUBLISH = { TRUE | FALSE } 리스팅을 게시하는 방법을 지정해요.

  • TRUE이면 리스팅이 검토를 위해 Marketplace Ops에 제출되는 즉시 게시돼요.
  • 기본값: TRUE

REVIEW = { TRUE | FALSE } 리스팅을 Marketplace Ops 검토에 제출해야 하는지 여부를 지정해요.

  • 기본값: TRUE

PUBLISH와 REVIEW 속성 값의 다양한 조합은 다음 동작을 만들어요.

PUBLISH REVIEW 동작
TRUE TRUE 검토를 요청한 뒤 승인 후 즉시 게시해요.
TRUE FALSE 오류가 발생해요. 검토 없이 Snowflake Marketplace에 리스팅을 게시할 수 없어요.
FALSE TRUE 검토 후 자동 게시 없이 검토만 요청해요.
FALSE FALSE 검토 요청이나 게시 없이 리스팅을 초안으로 저장해요.

COMMENT = 'string_literal' 리스팅에 대한 설명(comment)이에요.

  • 기본값: 값 없음

접근 제어 요구 사항 (Access control requirements)

이 작업을 실행하는 데 사용하는 역할(role)은 최소한 다음 권한을 가져야 해요.

권한 (Privilege) 객체 (Object) 비고
CREATE LISTING Account 기본적으로 ACCOUNTADMIN 역할만 이 권한을 가져요. 필요에 따라 추가 역할에 부여될 수 있어요.

크로스 클라우드 자동 이행(auto-fulfillment)을 구성하기 위한 위임 권한 — ALTER 명령이 자동 이행용 매니페스트 내용을 수정하는 경우. 리스팅 자동 이행(Auto-fulfillment for listings)을 참고해요.

스키마 안의 객체를 작업하려면 상위 데이터베이스에 대한 권한이 최소 하나, 상위 스키마에 대한 권한이 최소 하나 필요해요.

지정된 권한 집합으로 사용자 지정 역할을 만드는 방법은 사용자 지정 역할 만들기(Creating custom roles)를 참고해요. 보호 가능한 객체에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여의 일반적인 내용은 접근 제어 개요(Overview of Access Control)를 참고해요.

사용 메모 (Usage notes)

CREATE LISTING …으로 만든 리스팅은 자동으로 게시돼요. 게시 취소와 게시 작업에 대한 정보는 ALTER LISTING을 참고해요.

예시 (Examples)

특정 YAML 형식 매니페스트로 'MYLISTING'이라는 리스팅을 만들고, 검토 및 이후 게시를 위해 제출해요.

추가 예시와 SQL로 리스팅을 관리하는 사용 사례는 공급자로서 SQL로 리스팅 관리 - 예시(Manage listings with SQL as a provider - examples)를 참고해요.

참고: 이 예시는 PUBLISH와 REVIEW의 기본값을 사용해요.

CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE AS
$$
title: "MyListing"
subtitle: "Subtitle for MyListing"
description: "Description for MyListing"
listing_terms:
   type: "STANDARD"
targets:
    accounts: ["Org1.Account1"]
usage_examples:
    - title: "this is a test sql"
      description: "Simple example"
      query: "select *"
$$
;

특정 YAML 형식 매니페스트로 'MYLISTING'이라는 초안 리스팅을 만들어요.

CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE AS
$$
title: "MyListing"
subtitle: "Subtitle for MyListing"
description: "Description for MyListing"
listing_terms:
  type: "OFFLINE"
targets:
   regions: ["PUBLIC.AWS_US_EAST_1", "PUBLIC.AZURE_WESTUS2"]
usage_examples:
   - title: "this is a test sql"
     description: "Simple example"
     query: "select *"
$$ PUBLISH=FALSE REVIEW=FALSE;

특정 스테이지 위치에서 'MYLISTING'이라는 초안 리스팅을 만들어요. 다음 예시에서 manifest.yml 파일은 listingstage라는 스테이지의 listingmanifests 폴더에 있어요.

CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE FROM '@dbforstage.public.listingstage/listingmanifests';

더 알아보기 (Learn more)