Microsoft Azure Event Grid를 사용하여 작업에 대한 오류 알림 활성화하기¶
이 항목에서는 Microsoft Azure Event Grid를 사용한 작업에 대한 오류 알림 지원 구성 지침을 제공합니다.
Microsoft Azure Event Grid를 사용하여 오류 알림 활성화하기¶
작업 알림을 활성화하려면 다음 섹션의 단계를 따르십시오.
1단계: 사용자 지정 Event Grid 항목 만들기¶
Event Grid 항목은 원본에서 이벤트 알림을 전송하는 엔드포인트를 제공합니다. Snowflake에서 게시한 오류 알림을 수신할 전용 항목을 만듭니다. 단일 항목을 사용하여 Snowflake 계정의 모든 파이프(Snowpipe 오류 알림 의 경우) 또는 작업(작업 오류 알림 의 경우)에 대한 오류 알림을 수신할 수 있습니다.
Event Grid 항목 생성 지침은 Event Grid 설명서 를 참조하십시오. 이러한 지침의 뒷부분에서 필요하게 될 Event Grid 항목 엔드포인트를 기록합니다.
선택적으로 항목을 구독하여 추적하려는 이벤트와 해당 이벤트를 보낼 위치를 Event Grid에 알립니다.
2단계: Snowflake에서 알림 통합 만들기¶
테넌트 ID 검색하기¶
이러한 지침의 뒷부분에서 필요하게 될 Azure 테넌트 ID를 검색합니다.
Microsoft Azure 포털에 로그인합니다.
Azure Active Directory » Properties 으로 이동합니다. 나중에 참조할 수 있도록 Tenant ID 값을 기록합니다. ID 디렉터리 또는 테넌트 ID 는 Event Grid 항목에 대한 액세스 권한을 Snowflake에 부여하는 동의 URL을 생성하기 위해 필요합니다.
알림 통합 만들기¶
CREATE NOTIFICATION INTEGRATION 명령을 사용하여 통합을 생성합니다. 통합은 만든 Azure 저장소 큐를 참조하는 Snowflake 오브젝트입니다.
참고
계정 관리자(ACCOUNTADMIN 역할의 사용자) 또는 전역 CREATE INTEGRATION 권한이 있는 역할만 이 SQL 명령을 실행할 수 있습니다.
CREATE NOTIFICATION INTEGRATION <integration_name>
ENABLED = true
TYPE = QUEUE
NOTIFICATION_PROVIDER = AZURE_EVENT_GRID
DIRECTION = OUTBOUND
AZURE_EVENT_GRID_TOPIC_ENDPOINT = '<event_grid_topic_endpoint>'
AZURE_TENANT_ID = '<azure_tenant_id>'
예:
CREATE NOTIFICATION INTEGRATION myint
ENABLED = true
TYPE = QUEUE
NOTIFICATION_PROVIDER = AZURE_EVENT_GRID
DIRECTION = OUTBOUND
AZURE_EVENT_GRID_TOPIC_ENDPOINT = 'https://myaccount.region-1.eventgrid.azure.net/api/events'
AZURE_TENANT_ID = 'mytenantid';
여기서:
event_grid_topic_endpoint
는 1단계 섹션에서 기록한 Event Grid 항목 엔드포인트입니다.azure_tenant_id
는 이 섹션의 앞부분에서 기록한 Azure 디렉터리 ID 또는 테넌트 ID입니다.
항목에 Snowflake 액세스 권한 부여¶
DESCRIBE INTEGRATION 명령을 실행하여 동의 URL을 검색합니다.
DESC NOTIFICATION INTEGRATION <integration_name>;
여기서:
integration_name
은 알림 통합 만들기 에서 생성한 통합의 이름입니다.
다음 열의 값을 참고하십시오.
- AZURE_CONSENT_URL:
Microsoft 권한 요청 페이지에 대한 URL입니다.
- AZURE_MULTI_TENANT_APP_NAME:
계정에 대해 생성된 Snowflake 클라이언트 애플리케이션의 이름입니다. 이 섹션의 이후 단계에서는 허용되는 항목에 대한 액세스 토큰을 획득하기 위해 필요한 권한을 이 애플리케이션에 부여해야 합니다.
웹 브라우저에서 AZURE_CONSENT_URL 열의 URL로 이동합니다. 페이지에 Microsoft 권한 요청 페이지가 표시됩니다.
Accept 버튼을 클릭합니다. 이 작업을 통해 Snowflake 계정에 대해 생성된 Azure 서비스 주체에게 tenant 내부의 지정된 리소스에 대한 액세스 토큰이 부여됩니다. 액세스 토큰은 서비스 주체에 컨테이너에 대한 적절한 권한을 부여한 경우에만 획득이 가능합니다(다음 단계 참조).
Microsoft 권한 요청 페이지가 Snowflake 회사 사이트(snowflake.com)로 리디렉션됩니다.
Microsoft Azure 포털에 로그인합니다.
Azure Active Directory » Enterprise applications 으로 이동합니다. 이 섹션의 2단계에서 기록한 Snowflake 애플리케이션 식별자가 나열되는지 확인합니다.
중요
나중에 Azure Active Directory에서 Snowflake 애플리케이션을 삭제하면 알림 통합의 작동이 중지됩니다.
Event Grid Topics »
topic_name
으로 이동합니다. 여기서topic_name
은 이벤트 알림을 수신하려고 만든 항목의 이름입니다.Access Control (IAM) » Add role assignment 를 클릭합니다.
Snowflake 서비스 포털 주체를 검색합니다. DESC NOTIFICATION INTEGRATION 출력(1단계)에서 AZURE_MULTI_TENANT_APP_NAME 속성의 ID입니다. AZURE_MULTI_TENANT_APP_NAME 속성에서 밑줄 앞의 문자열을 검색합니다.
중요
Azure에서 이 섹션의 Microsoft 요청 페이지를 통해 요청한 Snowflake 서비스 주체를 생성하기 위해서는 1시간이 이상 걸릴 수 있습니다. 서비스 주체를 즉시 사용할 수 없는 경우 1~2시간 기다린 후 다시 검색하는 것이 좋습니다.
서비스 주체를 삭제하면 알림 통합이 작동을 중지합니다.
Snowflake 애플리케이션에 EventGrid Data Sender 권한을 부여합니다.
3단계: 작업에서 오류 알림 활성화하기¶
그런 다음 ERROR_INTEGRATION을 알림 통합의 이름으로 설정하여 독립 실행형 또는 루트 작업에서 오류 알림을 활성화합니다. (CREATE TASK를 사용해) 작업을 생성하거나 (ALTER TASK를 사용해) 이후에 생성할 때 속성을 설정할 수 있습니다.
자세한 내용은 오류 알림을 보내도록 작업 구성하기 섹션을 참조하십시오.