SQL 을 사용한 목록 관리 정보

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

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

참고

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

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

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

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

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

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

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

목록 소유자 역할:

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

전역 CREATE 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: ...

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

auto_fulfillment: ...

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

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

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

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

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

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

To create a listing, you use the CREATE LISTING command, specifying a name and the listing details inline in a YAML manifest that describes the listing. Listings created using CREATE LISTING … are automatically published.

After a listing is created, you can alter it using ALTER LISTING, which includes unpublish and publish support. Additionally, listings can be described, shown, published and unpublished, and dropped.

참고

SQL 을 사용하여 목록을 만드는 것은 비공개 목록을 사용하여 특정 컨슈머와 데이터 또는 앱 공유하기 와 개념적으로 유사합니다. SQL을 사용하여 목록을 생성하려면 Snowsight 및 Provider 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;

참고

목록은 목록의 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;

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

ALTER LISTING MY1STLISTING UNPUBLISH;

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 *"
$$;

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

SQL을 사용한 목록 검사

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

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

SHOW LISTINGS LIKE 'MY1STLISTING';

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

SHOW LISTINGS;

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

DESC LISTING MY1STLISTING;

SQL을 사용한 목록 삭제

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

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

ALTER LISTING MY1STLISTING UNPUBLISH;

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

DROP LISTING IF EXISTS MY1STLISTING