CREATE NOTIFICATION INTEGRATION

CREATE NOTIFICATION INTEGRATION (Azure Event Grid 토픽 인바운드)

Azure Event Grid 토픽에서 메시지를 받기 위해 계정에 새 알림 인티그레이션(notification integration)을 만들거나 기존 인티그레이션을 교체하는 명령이에요.

출처: 문서

본문

Azure Event Grid 토픽에서 메시지를 받기 위해 계정에 새 알림 인티그레이션을 만들거나 기존 인티그레이션을 교체해요.

함께 보기: ALTER NOTIFICATION INTEGRATION (Azure Event Grid 토픽 인바운드), DESCRIBE NOTIFICATION INTEGRATION, DROP INTEGRATION, SHOW NOTIFICATION INTEGRATIONS

구문 (Syntax)

CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [ IF NOT EXISTS ] <name>
  ENABLED = { TRUE | FALSE }
  TYPE = QUEUE
  NOTIFICATION_PROVIDER = AZURE_STORAGE_QUEUE
  AZURE_STORAGE_QUEUE_PRIMARY_URI = '<queue_url>'
  AZURE_TENANT_ID = '<ad_directory_id>';
  [ USE_PRIVATELINK_ENDPOINT = { TRUE | FALSE } ]
  [ COMMENT = '<string_literal>' ]

필수 매개변수 (Required parameters)

name 인티그레이션의 식별자(즉 이름)를 지정하는 문자열로, 계정 안에서 고유해야 해요.

또한 식별자는 반드시 알파벳 문자로 시작해야 하며, 전체 식별자 문자열이 큰따옴표로 묶이지 않는 한 공백이나 특수 문자를 포함할 수 없어요 (예: "My object"). 큰따옴표로 묶인 식별자는 대소문자를 구분해요.

자세한 내용은 식별자 요구 사항(Identifier requirements)을 참고해요.

ENABLED = { TRUE | FALSE } 인티그레이션의 운영을 시작할지 일시 중지할지를 지정해요.

  • TRUE는 인티그레이션을 활성화해요.
  • FALSE는 유지보수를 위해 인티그레이션을 비활성화해요. Snowflake와 타사 서비스 사이의 어떤 인티그레이션도 작동하지 않아요.

값은 대소문자를 구분하지 않아요. 기본값은 TRUE예요.

TYPE = QUEUE 이것이 Snowflake와 타사 클라우드 메시지 큐 서비스 사이의 인티그레이션이라고 지정해요.

NOTIFICATION_PROVIDER = AZURE_STORAGE_QUEUE 타사 클라우드 메시지 큐 서비스로 Microsoft Azure Event Grid를 지정해요.

AZURE_STORAGE_QUEUE_PRIMARY_URI = 'queue_url Event Grid 알림용으로 만들어진 Azure Queue Storage 큐의 큐 URL을 지정해요. 다음 형식의 URL을 사용해요.

https://storage_queue_account.queue.core.windows.net/storage_queue_name

참고: 단일 알림 인티그레이션은 단일 Azure Storage 큐를 지원해요. 여러 알림 인티그레이션에서 같은 스토리지 큐를 참조하면 이벤트 알림이 인티그레이션 사이에 분할되므로 대상 테이블의 데이터가 누락될 수 있어요.

AZURE_TENANT_ID = 'ad_directory_id' ID 관리에 사용되는 Azure Active Directory 테넌트의 ID를 지정해요. 이 ID는 Event Grid 알림 구독에 대한 Snowflake 액세스를 부여하는 동의 URL(consent URL)을 생성하는 데 필요해요.

선택 매개변수 (Optional parameters)

USE_PRIVATELINK_ENDPOINT = { TRUE | FALSE } 프라이빗 연결을 사용할지 여부를 지정해요. 이 매개변수 사용에 대한 정보는 Microsoft Azure용 외부 스테이지 및 Snowpipe 자동화의 프라이빗 연결(Private connectivity to external stages and Snowpipe automation for Microsoft Azure)을 참고해요.

COMMENT = 'string_literal' 인티그레이션에 대한 설명(comment)을 지정하는 문자열(리터럴)이에요.

  • 기본값: 값 없음

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

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

권한 (Privilege) 객체 (Object) 비고
CREATE INTEGRATION Account 기본적으로 ACCOUNTADMIN 역할만 이 권한을 가져요. 필요에 따라 추가 역할에 부여될 수 있어요.
CREATE NOTIFICATION INTEGRATION Account 알림 인티그레이션을 만들 수 있는 권한을 부여해요. 이 권한은 다른 유형의 인티그레이션을 만들 수 있는 권한은 부여하지 않아요.

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

사용 메모 (Usage notes)

여러 Microsoft Azure Storage 큐를 위한 단일 알림 인티그레이션을 만드는 것은 지원되지 않아요.

다른 알림 인티그레이션과 같은 큐 URL을 가진 알림 인티그레이션을 사용해 새 파이프를 만들면 다음 오류로 파이프 생성이 실패해요.

Notification queue already in use with another integration.

자동 데이터 로드나 메타데이터 새로 고침을 위해 여러 인바운드 알림 인티그레이션에서 같은 Microsoft Azure Storage 큐를 사용하는 것은 지원되지 않아요.

메타데이터에 관해서는 다음 사항에 주의해요.

⚠️ 주의: 고객은 Snowflake 서비스를 사용할 때 (User 객체를 제외하고) 개인 데이터·민감 데이터·수출 통제 데이터·기타 규제 데이터를 메타데이터로 입력하지 않도록 해야 해요. 자세한 내용은 Snowflake의 메타데이터 필드를 참고해요.

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

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

클라우드 공급자의 정부 리전은 상용 리전으로 또는 상용 리전에서 이벤트 알림을 보내거나 받는 것을 허용하지 않아요. 자세한 내용은 Azure Government를 참고해요.

예시 (Examples)

다음 항목을 참고해요.

  • Microsoft Azure Blob Storage용 Snowpipe 자동화
  • Azure Blob Storage의 디렉터리 테이블 자동 새로 고침
  • Azure Blob Storage의 외부 테이블 자동 새로 고침

더 알아보기 (Learn more)