SQL을 사용한 목록 관리 정보

공급자는 목록을 사용하여 모든 Snowflake 리전의 계정과 데이터 제품을 공유할 수 있습니다. 목록에 대해 자세히 알아보려면 목록 정보 섹션을 참조하십시오.

공급자는 SQL 명령을 사용하여 목록을 만들어 관리하고 특정 컨슈머에게 제공할 수 있습니다. 공급자가 SQL을 사용하여 목록을 공유하려면 다음 작업을 완료해야 합니다.

참고

공급자는 비공개 데이터 교환에서는 유료 사용자 지정 목록이나 비공개 데이터 교환의 목록을 제공할 수 없습니다.

SQL을 사용한 목록 작업의 전제 조건

목록 및 애플리케이션 소유자 역할

목록을 만들 때 데이터 또는 애플리케이션 패키지가 있는 계정에서 목록을 만듭니다. 데이터 제품을 목록에 연결하고 목록을 게시하는 역할은 애플리케이션 패키지 또는 공유를 생성하여 소유하는 역할과 동일해야 합니다. 공유에 대한 OWNERSHIP 권한은 양도할 수 없습니다.

다른 역할을 사용하여 목록을 생성하고 관리하는 경우 애플리케이션 패키지 또는 공유를 소유한 역할에 목록에 대한 MODIFY 권한을 부여하십시오. 예:

공유 또는 애플리케이션 패키지 소유자 역할:

공유 또는 애플리케이션 패키지에 대한 OWNERSHIP 권한. 목록에 대한 MODIFY 권한.

목록 소유자 역할:

목록에 대한 OWNERSHIP 권한입니다.

전역 CREATE DATA EXCHANGE LISTING 권한.

공급자 계정 내에서 다음 중 하나를 사용하여 목록을 만들고 관리할 수 있습니다.

ACCOUNTADMIN:

ACCOUNTADMIN 역할을 사용하여 목록을 생성하고 관리하는 경우 먼저 ORGADMIN 역할은 먼저 자동 복제를 설정하는 권한을 위임 해야 합니다.

사용자 지정 역할:

사용자 지정 역할을 사용하는 경우 ORGADMIN 역할은 먼저 ACCOUNTADMIN 역할에 자동 복제를 설정하는 권한을 위임 해야 하며, 그러면 이 권한을 사용하여 사용자 지정 역할에 관련 권한을 부여할 수 있습니다.

공유 권한 부여에 대한 자세한 내용은 다른 역할에 권한 부여하기 를 참조하십시오.

목록 매니페스트 정의

목록을 작성하려면 먼저 목록 매니페스트를 작성해야 합니다. 매니페스트는 YAML(https://yaml.org/spec/)로 작성되며 접두사와 필수 및 선택 필드를 포함합니다.

예를 들어, 다음과 유사한 매니페스트를 정의하여 목록 용어가 포함된 간단한 제목의 목록을 만듭니다.

title: A title for the listing.
subtitle: An optional subtitle.
description: A general description.
profile: Provider profile reference.
listing_terms: ...
targets: ...
Copy

각 매니페스트에는 다음과 같은 추가 섹션이 포함됩니다.

auto_fulfillment: ...
Copy

선택적 필드 data_dictionary, business_needs 등으로 다양합니다.

단순 매니페스트에는 다음이 포함됩니다.

title: "MyFirstListing"
subtitle: "Example listing"
description: "This is my first listing!"
listing_terms:
  type: "OFFLINE"
targets:
   accounts: ["Org1.Account1"]
Copy

자세한 내용은 목록 매니페스트 참조 섹션을 참조하십시오.

SQL을 사용한 목록 관리와 관련된 추가 예제 및 사용 사례는 공급자로서 SQL로 목록 관리하기 - 예 섹션을 참조하십시오.

SQL을 사용하여 목록을 만듭니다.

목록을 만들려면 CREATE LISTING 명령을 사용하여 목록을 설명하는 YAML 매니페스트에 이름과 목록 세부 정보를 직접 지정합니다. CREATE LISTING …을 사용하여 생성된 목록은 자동으로 게시됩니다. 목록이 생성된 후에는 게시 취소 및 게시 지원이 포함된 ALTER LISTING 을 사용하여 목록을 변경할 수 있습니다.

Snowsight 와 달리 SQL을 사용하여 목록을 만들 때는 관련 공유가 이미 존재해야 한다는 점에 유의하십시오.

또한, 목록은 설명된, 표시됨, 게시됨 또는 게시 취소됨삭제됨 일 수 있습니다.

참고

SQL을 사용하여 목록을 만드는 것은 개념적으로 비공개 목록을 사용하여 특정 컨슈머와 데이터 또는 앱 공유하기 와 유사합니다. SQL을 사용하여 목록을 생성하려면 SnowsightProvider Studio 를 사용하여 목록을 만들고, 보고, 게시하는 데 익숙하고 능숙해야 합니다. 자세한 내용은 비공개 목록을 사용하여 특정 컨슈머와 데이터 또는 앱 공유하기 섹션을 참조하십시오.

목록을 만들기 전에 모든 필수 조건 을 완료했는지 확인합니다.

예를 들어, 공유 myshare 에서 “My first SQL listing”이라는 제목의 DRAFT 목록 my1stlisting 을 만들려면 다음 명령을 실행합니다.

CREATE EXTERNAL LISTING my1stlisting
SHARE myshare AS
$$
 title: "My first SQL listing"
 description: "This is my first listing"
 listing_terms:
   type: "OFFLINE"
 targets:
   accounts: ["Org1.Account1"]
$$ PUBLISH=FALSE REVIEW=FALSE;
Copy

참고

목록은 목록의 NAME 을 사용하여 식별됩니다 목록 NAME 은 처음 목록을 만들 때 사용하는 식별자입니다. 위의 예제에서 목록 이름은 MY1STLISTING입니다. 제목, 부제목 및 기타 목록 특성은 변경할 수 있지만 NAME 은 yaml에서 새 이름을 지정하여 변경할 수 없습니다. 목록의 이름을 바꾸려면 ALTER LISTING … RENAME TO 를 사용합니다. ALTER LISTING, SHOW LISTINGS, DESCRIBE LISTING, DROP LISTING 같은 명령은 모두 NAME 을 사용하여 목록을 식별합니다. 제목별로 목록을 식별하는 Snowsight 에는 NAME 목록이 표시되지 않습니다.

SQL을 사용한 목록 관리와 관련된 추가 예제 및 사용 사례는 공급자로서 SQL로 목록 관리하기 - 예 섹션을 참조하십시오.

SQL을 사용하여 목록 게시

ALTER LISTING … PUBLISH 및 ALTER LISTING … UNPUBLISH를 사용하여 목록을 게시하고 게시를 취소할 수 있습니다.

Snowsight 를 사용하여 목록을 게시하는 방법에 대한 자세한 내용은 목록 게시하기 섹션을 참조하십시오.

CREATE LISTING 을 사용하여 목록을 만들면 목록이 자동으로 게시될 수 있습니다.

예를 들어, 이전에 게시되지 않은 목록을 게시하려면 다음 명령을 실행합니다.

ALTER LISTING MY1STLISTING PUBLISH;
Copy

또한, 게시물을 삭제하려면 먼저 게시 취소를 해야 합니다. 이전에 게시된 목록의 게시를 취소하려면 다음과 유사한 명령을 실행합니다.

ALTER LISTING MY1STLISTING UNPUBLISH;
Copy

SQL을 사용한 목록 관리와 관련된 추가 예제 및 사용 사례는 공급자로서 SQL로 목록 관리하기 - 예 섹션을 참조하십시오.

SQL을 사용한 목록 정의 확장

이전 예제에는 대상이나 사용 예제가 포함되어 있지 않았습니다. ALTER LISTING 을 사용하여 목록의 특성을 변경할 수 있습니다. 이 예제에서는 기존 목록을 업데이트하여 대상과 예제 SQL을 추가합니다. 기존 YAML 매니페스트가 새로운 내용을 포함하도록 확장되었습니다.

추가 필드를 포함하도록 목록을 변경하려면 다음과 유사한 명령을 실행합니다.

ALTER LISTING MY1STLISTING AS
$$
   title: "My First SQL Listing"
   description: "This is my first listing"
   listing_terms:
     type: "OFFLINE"
   targets:
     accounts: ["Org1.Account1"]
   usage_examples:
     - title: "this is a test sql"
       description: "Simple example"
       query: "select *"
$$;
Copy

SQL을 사용한 목록 관리와 관련된 추가 예제 및 사용 사례는 공급자로서 SQL로 목록 관리하기 - 예 섹션을 참조하십시오.

SQL을 사용한 목록 검사

테이블 및 기타 SQL 요소와 마찬가지로 목록을 설명하고 표시할 수 있습니다. DESCRIBE LISTING 은 하나의 목록 이름을 매개 변수로 사용하여 해당 목록에 대한 세부 정보를 제공합니다. SHOW LISTINGSLIKE 필터를 사용하여 목록 그룹에 대한 정보를 제공하거나 필터가 제공되지 않은 경우 특정 계정에서 만든 모든 목록에 대한 정보를 제공할 수 있습니다.

MY1STLISTING 목록의 세부 정보를 표시하려면 다음과 유사한 명령을 실행합니다.

SHOW LISTINGS LIKE 'MY1STLISTING';
Copy

역할에 따라 액세스할 수 있는 모든 목록을 표시하려면 다음과 유사한 명령을 실행합니다.

SHOW LISTINGS;
Copy

목록 MY1STLISTING을 설명 하려면 다음과 유사한 명령을 실행합니다.

DESC LISTING MY1STLISTING;
Copy

SQL을 사용한 목록 삭제

목록을 제거하려면 먼저 목록의 게시를 취소해야 합니다. SQL을 사용하여 목록을 삭제하기 전에 Snowsight 를 사용하여 목록을 삭제하는 방법을 숙지하고 있어야 합니다. Snowsight 를 사용하여 목록을 삭제하는 방법에 대한 자세한 내용은 공급자로서 목록 제거하기 섹션을 참조하십시오.

목록의 게시를 취소하려면 다음과 유사한 명령을 실행합니다.

ALTER LISTING MY1STLISTING UNPUBLISH;
Copy

목록을 삭제하려면 다음과 유사한 명령을 실행합니다.

DROP LISTING IF EXISTS MY1STLISTING
Copy