CREATE EXTERNAL CONSUMER

CREATE EXTERNAL CONSUMER

Open Data Sharing에 사용할 새 외부 소비자(external consumer) ID를 만들거나 기존 ID를 교체하는 명령이에요. 외부 소비자는 Iceberg REST Catalog API를 사용해 공유된 Iceberg 데이터에 접근하는 Snowflake 외부의 당사자를 나타내요.

출처: 문서

본문

Open Data Sharing에 사용할 새 외부 소비자 ID를 만들거나 기존 ID를 교체해요. 외부 소비자는 Snowflake 외부에 있으면서 Iceberg REST Catalog API를 사용해 공유된 Iceberg 데이터에 접근하는 당사자를 나타내요.

함께 보기: ALTER EXTERNAL CONSUMER, DROP EXTERNAL CONSUMER, DESCRIBE EXTERNAL CONSUMER, SHOW EXTERNAL CONSUMERS

구문 (Syntax)

CREATE [ OR REPLACE ] EXTERNAL CONSUMER [ IF NOT EXISTS ] <name>
  [ COMMENT = '<string_literal>' ]
  [ EMAIL = '<email_address>' ]

필수 매개변수 (Required parameters)

name 외부 소비자의 식별자를 지정해요. 계정 안에서 고유해야 해요.

식별자에 공백·특수 문자·혼합 대소문자가 포함되면 전체 문자열을 큰따옴표로 감싸야 해요. 큰따옴표로 묶인 식별자는 대소문자를 구분해요.

선택 매개변수 (Optional parameters)

OR REPLACE 같은 이름의 기존 외부 소비자를 교체해요. 기존 소비자와 그 속성은 새 정의로 교체돼요.

IF NOT EXISTS 같은 이름의 외부 소비자가 이미 존재하지 않을 때만 만들어요. 이미 존재하면 명령은 아무것도 하지 않고 성공적으로 완료돼요.

OR REPLACEIF NOT EXISTS는 서로 배타적이에요.

COMMENT = 'string_literal' 외부 소비자에 대한 설명(comment)을 지정해요.

EMAIL = 'email_address' 외부 소비자와 연결된 이메일 주소를 지정해요.

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

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

권한 (Privilege) 객체 (Object) 비고
CREATE EXTERNAL CONSUMER Account 외부 소비자를 만드는 데 필요해요. 기본적으로 ACCOUNTADMIN에 부여돼요.

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

사용 메모 (Usage notes)

OR REPLACEIF NOT EXISTS 절은 서로 배타적이에요. 같은 문에서 둘 다 사용할 수 없어요.

CREATE OR REPLACE <object> 문은 원자적(atomic)으로 동작해요. 즉, 객체를 교체할 때 기존 객체는 삭제되고 새 객체는 단일 트랜잭션 안에서 생성돼요.

외부 소비자는 제한된(restricted) ID예요. 외부 소비자에게 Snowflake 역할이나 표준 사용자 옵션을 부여할 수 없어요.

외부 소비자는 PAT(Programmatic Access Token)로 인증해야 해요. ALTER EXTERNAL CONSUMER … ADD PAT를 참고해요.

예시 (Examples)

외부 소비자를 만들어요.

CREATE EXTERNAL CONSUMER acme_consumer
  COMMENT = 'External consumer for Acme Corp'
  EMAIL = '[email protected]';

같은 이름의 외부 소비자가 이미 존재하지 않을 때만 만들어요.

CREATE EXTERNAL CONSUMER IF NOT EXISTS acme_consumer;

더 알아보기 (Learn more)