CREATE NOTIFICATION INTEGRATION

계정에 새 알림 통합을 만들거나 기존 통합을 바꿉니다. 알림 통합은 Snowflake와 서드 파티 메시징 서비스(서드 파티 클라우드 메시지 큐 서비스, 이메일 서비스 등) 간의 인터페이스를 제공하는 Snowflake 오브젝트입니다.

참고 항목:

ALTER NOTIFICATION INTEGRATION , DROP INTEGRATION , SHOW INTEGRATIONS

기능

알림 통합은 클라우드 저장소 서비스 및 이메일 서비스당 다음 기능에 필수적입니다.

Amazon Web Services(AWS):

푸시 알림:

이메일 알림:

Google Cloud(GCP):

자동 데이터 로딩 또는 메타데이터 새로 고침:

푸시 알림:

Microsoft Azure(Azure):

자동 데이터 로딩 또는 메타데이터 새로 고침:

푸시 알림:

구문

자동 데이터 로딩 또는 메타데이터 새로 고침

CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [IF NOT EXISTS]
  <name>
  ENABLED = { TRUE | FALSE }
  TYPE = QUEUE
  cloudProviderParamsAuto
  [ COMMENT = '<string_literal>' ]
Copy

여기서:

cloudProviderParamsAuto (for Google Cloud Storage) ::=
  NOTIFICATION_PROVIDER = GCP_PUBSUB
  GCP_PUBSUB_SUBSCRIPTION_NAME = '<subscription_id>'
Copy
cloudProviderParamsAuto (for Microsoft Azure Storage) ::=
  NOTIFICATION_PROVIDER = AZURE_STORAGE_QUEUE
  AZURE_STORAGE_QUEUE_PRIMARY_URI = '<queue_URL>'
  AZURE_TENANT_ID = '<directory_ID>';
Copy

푸시 알림

CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [IF NOT EXISTS]
  <name>
  ENABLED = { TRUE | FALSE }
  DIRECTION = OUTBOUND
  TYPE = QUEUE
  cloudProviderParamsPush
  [ COMMENT = '<string_literal>' ]
Copy

여기서:

cloudProviderParamsPush (for Amazon SNS) ::=

  NOTIFICATION_PROVIDER = AWS_SNS
  AWS_SNS_TOPIC_ARN = '<topic_arn>'
  AWS_SNS_ROLE_ARN = '<iam_role_arn>'
Copy
cloudProviderParamsPush (for Google Pub/Sub) ::=
  NOTIFICATION_PROVIDER = GCP_PUBSUB
  GCP_PUBSUB_TOPIC_NAME = '<topic_id>'
Copy
cloudProviderParamsPush (for Microsoft Azure Event Grid) ::=
  NOTIFICATION_PROVIDER = AZURE_EVENT_GRID
  AZURE_EVENT_GRID_TOPIC_ENDPOINT = '<event_grid_topic_endpoint>'
  AZURE_TENANT_ID = '<directory_ID>';
Copy

이메일 알림

CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [IF NOT EXISTS]
  <name>
  TYPE = EMAIL
  ENABLED = { TRUE | FALSE }
  [ ALLOWED_RECIPIENTS = ( '<email_address_1>' [ , ... '<email_address_N>' ] ) ]
  [ COMMENT = '<string_literal>' ]
Copy

필수 매개 변수

name

통합에 대한 식별자(즉, 이름)를 지정하는 문자열로, 계정에서 고유해야 합니다.

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

자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

ENABLED = { TRUE | FALSE }

통합 작업을 시작할지 일시 중단할지 여부를 지정합니다.

  • TRUE 로 지정하면 통합이 활성화됩니다.

  • FALSE 로 지정하면 유지 관리를 위해 통합이 비활성화됩니다. Snowflake와 서드 파티 서비스 간의 통합이 작동하지 않습니다.

TYPE = QUEUE | EMAIL

통합 유형 지정:

  • QUEUE: Snowflake와 서드 파티 클라우드 메시지 큐 서비스 간의 인터페이스를 만듭니다.

  • EMAIL: Snowflake와 서드 파티 이메일 서비스 간의 인터페이스를 만듭니다.

    주어진 계정에 대해 최대 10개의 이메일 알림 통합을 정의할 수 있습니다.

선택적 매개 변수

DIRECTION = OUTBOUND

(TYPE = QUEUE 를 사용한 푸시 알림의 경우) Snowflake와 관련된 클라우드 메시징의 방향입니다. 클라우드 메시징 서비스에 대한 푸시 알림을 구성할 때만 필요합니다.

OUTBOUND: Snowflake가 클라우드 메시징 서비스로 보내는 알림을 생성하도록 지정합니다.

COMMENT = 'string_literal'

통합에 대한 설명을 지정하는 문자열(리터럴)입니다.

기본값: 값 없음

자동 데이터 로딩 또는 메타데이터 새로 고침을 위한 클라우드 공급자 매개 변수(cloudProviderParamsAuto)

Google Cloud Storage

NOTIFICATION_PROVIDER = GCP_PUBSUB

Google Cloud Pub/Sub를 서드 파티 클라우드 메시지 큐 서비스로 지정합니다.

GCP_PUBSUB_SUBSCRIPTION_NAME = '<subscription_id>'

Snowflake가 이벤트 메시지에 액세스할 수 있도록 허용하는 데 사용되는 Pub/Sub 항목 구독 ID입니다.

참고

단일 알림 통합은 단일 Google Cloud Pub/Sub 구독을 지원합니다. 이벤트 알림은 알림 통합 사이에서 분할되므로 여러 알림 통합에서 동일한 Pub/Sub 구독을 참조하면 대상 테이블에서 데이터가 누락될 수 있습니다.

Microsoft Azure 저장소

NOTIFICATION_PROVIDER = AZURE_EVENT_GRID

Microsoft Azure Event Grid를 서드 파티 클라우드 메시지 큐 서비스로 지정합니다.

AZURE_STORAGE_QUEUE_PRIMARY_URI = 'https://storage_queue_account.queue.core.windows.net/storage_queue_name'

Event Grid 알림을 위해 만든 Azure Queue Storage 큐의 큐 ID를 지정합니다.

참고

단일 알림 통합은 단일 Azure 저장소 큐를 지원합니다. 이벤트 알림은 알림 통합 사이에서 분할되므로 여러 알림 통합에서 동일한 저장소 큐를 참조하면 대상 테이블에서 데이터가 누락될 수 있습니다.

AZURE_TENANT_ID = 'ad_directory_id'

ID 관리에 사용되는 Azure Active Directory tenant의 ID를 지정합니다. 이 ID는 Event Grid 알림 구독에 대한 액세스 권한을 Snowflake에 부여하는 동의 URL을 생성하기 위해 필요합니다.

푸시 알림을 위한 클라우드 공급자 매개 변수(cloudProviderParamsPush)

Amazon Simple Notification Service

NOTIFICATION_PROVIDER = AWS_SNS

Amazon Simple Notification Service(SNS)를 서드 파티 클라우드 메시지 큐 서비스로 지정합니다.

AWS_SNS_TOPIC_ARN = '<topic_arn>'

알림이 푸시되는 Amazon SNS(SNS) 항목의 Amazon 리소스 이름(ARN)입니다.

AWS_SNS_ROLE_ARN = '<iam_role_arn>'

SNS 항목에 메시지를 게시할 권한이 있는 IAM 역할의 ARN입니다.

Google Pub/Sub

NOTIFICATION_PROVIDER = GCP_PUBSUB

Google Cloud Pub/Sub를 서드 파티 클라우드 메시지 큐 서비스로 지정합니다.

GCP_PUBSUB_TOPIC_NAME = '<topic_id>'

Snowpipe가 알림을 푸시하는 Pub/Sub 항목의 식별입니다.

Microsoft Azure Event Grid

NOTIFICATION_PROVIDER = AZURE_EVENT_GRID

Microsoft Azure Event Grid를 서드 파티 클라우드 메시지 큐 서비스로 지정합니다.

AZURE_EVENT_GRID_TOPIC_ENDPOINT = '<event_grid_topic_endpoint>'

Snowpipe가 알림을 푸시하는 Event Grid 항목 엔드포인트입니다.

AZURE_TENANT_ID = 'ad_directory_id'

ID 관리에 사용되는 Azure Active Directory 테넌트의 ID입니다. 이 ID는 Event Grid 항목에 대한 액세스 권한을 Snowflake에 부여하는 동의 URL을 생성하기 위해 필요합니다.

이메일 알림 매개 변수

ALLOWED_RECIPIENTS=('email_address_1' [, ... 'email_address_N'])

(TYPE = EMAIL 의 경우) 이 통합에서 알림 이메일을 받을 수 있는 따옴표 붙은 이메일 주소의 쉼표로 구분된 목록입니다.

현재 계정에 있는 사용자의 이메일 주소를 지정해야 합니다. 이러한 사용자는 이메일 주소를 확인 해야 합니다.

지정할 수 있는 최대 이메일 주소 개수는 50개입니다.

이 매개 변수를 생략하면 현재 계정에서 확인된 이메일 주소로 이메일 알림을 보낼 수 있습니다.

액세스 제어 요구 사항

이 SQL 명령을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.

권한

오브젝트

참고

CREATE INTEGRATION

계정

Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed.

지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.

보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.

사용법 노트

  • 여러 Microsoft Azure 저장소 큐 또는 Google Cloud Pub/Sub 구독에 대한 단일 알림 통합 만들기는 지원되지 않습니다.

    • 다른 알림 통합과 동일한 큐 URL이 있는 알림 통합을 사용하여 새 파이프를 생성할 때 파이프 생성이 Notification queue already in use with another integration 오류 발생으로 실패합니다.

  • 여러 인바운드 알림 통합에 동일한 Microsoft Azure 저장소 큐 또는 Google Cloud Pub/Sub 구독을 사용하는 것은 자동화된 데이터 로드 또는 메타데이터 새로 고침에 지원되지 않습니다.

  • 푸시 알림을 위해 여러 파이프에 대해 동일한 아웃바운드 알림 통합을 사용할 수 있습니다.

  • 메타데이터 관련:

    주의

    고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.

  • CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.

  • 클라우드 공급자의 정부 리전에서는 이벤트 알림이 다른 상업 리전으로 전송되거나 다른 상업 리전에서 전송되는 것을 허용하지 않습니다. 자세한 내용은 AWS GovCloud(US)Azure Government 섹션을 참조하십시오.

Snowflake 기능과 관련된 예제는 이 항목의 기능 섹션에서 참조하는 항목을 참조하십시오.