SYSTEM$GET_LISTING_URL_FOR_EXTERNAL_CONSUMER

SYSTEM$GET_LISTING_URL_FOR_EXTERNAL_CONSUMER

외부 리스팅(listing)의 카탈로그 URL과 카탈로그 URI를 돌려주는 시스템 함수예요. 외부 소비자가 Iceberg REST Catalog 클라이언트로 연결할 수 있게 해요.

출처: 공식 문서

본문

프리뷰 기능(Preview Feature) — 공개 (Open)

모든 계정에서 사용할 수 있습니다.

외부 리스팅의 카탈로그 URL과 카탈로그 URI를 반환하여, 외부 소비자가 Iceberg REST Catalog 클라이언트를 사용해 연결할 수 있게 합니다.

참고 (See also): Open Data Sharing

구문 (Syntax)

SYSTEM$GET_LISTING_URL_FOR_EXTERNAL_CONSUMER( '<listing_name>' )

인자 (Arguments)

필수 (Required):

'listing_name'

외부 리스팅의 이름. 작은따옴표로 묶어야 합니다.

반환값 (Returns)

다음 필드를 포함하는 JSON 객체를 반환합니다:

필드 설명
catalog 외부 소비자가 공유 데이터를 식별하는 데 사용하는 카탈로그 이름.
catalog_uri 외부 소비자가 연결하는 데 사용하는 Iceberg REST Catalog 엔드포인트 URL.
scope Iceberg REST Catalog 세션의 접근 토큰을 요청할 때 필요한 OAuth scope.
oauth_token_uri 외부 소비자가 카탈로그의 접근 토큰을 얻는 데 사용하는 OAuth 토큰 엔드포인트 URL.

접근 제어 요구 사항

이 연산을 실행하는 데 사용되는 역할(role)은 최소한 다음 권한(privileges)을 가져야 합니다:

권한 객체 참고
OWNERSHIP 또는 USAGE Listing 리스팅의 카탈로그 URL 검색에 필요

지정된 권한 집합으로 사용자 지정 역할을 만드는 방법은 Creating custom roles를 참고하세요.

securable objects에 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 Overview of Access Control을 참고하세요.

사용 참고 (Usage notes)

  • 외부 소비자는 자신의 외부 소비자 ID에 대해 생성된 Programmatic Access Token(PAT)으로 인증해야 합니다.
  • Public Preview 동안 카탈로그 URI는 공급자 계정이 위치한 리전의 데이터만 반환합니다.
  • 외부 소비자가 Iceberg REST Catalog 클라이언트로 연결할 수 있도록 catalog_uri 값과 PAT를 모두 제공하세요.

예제 (Examples)

TEST_LISTING이라는 외부 리스팅의 카탈로그 URL을 검색합니다:

CALL SYSTEM$GET_LISTING_URL_FOR_EXTERNAL_CONSUMER('TEST_LISTING');

예제 출력:

{
  "catalog": "my-listing-GZ1Z23",
  "catalog_uri": "https://myorg-myalias.snowflakecomputing.com/polaris/open-sharing/api/catalog",
  "scope": "session:role:external",
  "oauth_token_uri": "https://myorg-myalias.snowflakecomputing.com/polaris/open-sharing/api/catalog/v1/oauth/tokens"
}

더 알아보기 (Learn more)