웹훅 알림 보내기

웹훅 알림 보내기 (Sending webhook notifications)

이 문서는 Snowflake에서 웹훅(webhook) 알림을 보내는 방법을 설명해요.

출처: Sending webhook notifications

본문

개요

웹훅 알림은 Snowflake 이벤트가 발생했을 때 외부 HTTP 엔드포인트로 알림을 전송하는 방식이에요. 웹훅을 사용하면 타사 시스템이나 자체 서비스와 통합할 수 있어요.

웹훅 알림은 병렬 처리를 위해 실행 시 여러 알림으로 분할되어 전달돼요. 웹훅 엔드포인트는 어떤 수의 알림이라도 처리할 수 있도록 설계되어야 해요.

Snowpipe Streaming과 함께 사용하면 각 파이프에 대해 웹훅 알림이 전송돼요.

웹훅 알림 통합 만들기

웹훅 알림을 보내려면 TYPE = WEBHOOK인 알림 통합을 만들어요:

CREATE NOTIFICATION INTEGRATION my_webhook_integration
  TYPE = WEBHOOK
  ENABLED = TRUE
  WEBHOOK_URL = 'https://example.com/webhook'
  WEBHOOK_SECRET = 'my_secret'
  WEBHOOK_TYPE = 'CLOUD';
  • WEBHOOK_URL: 알림을 보낼 HTTPS 엔드포인트.
  • WEBHOOK_SECRET: 엔드포인트에 대한 인증에 사용할 비밀 키.
  • WEBHOOK_TYPE: 웹훅 유형 (예: CLOUD, SNOWFLAKE, HTTPS).

참고: 웹훅 URL은 HTTPS여야 하고, 신뢰할 수 있는 엔드포인트여야 해요.

웹훅 알림 보내기

웹훅 알림은 태스크, Snowpipe, 저장 프로시저 등에서 생성할 수 있어요. 알림을 보내는 방법 중 하나는 SYSTEM$SEND_SNOWFLAKE_NOTIFICATION 함수를 사용하는 것이에요:

SELECT SYSTEM$SEND_SNOWFLAKE_NOTIFICATION(
  'my_webhook_integration',
  '알림 메시지'
);

또한 태스크에 웹훅 알림을 연결해 태스크 완료·실패 시 이벤트를 자동으로 알릴 수 있어요. 태스크 완료 알림 구성은 태스크 문서를 참고하세요.

웹훅 본문 형식

웹훅으로 전송되는 알림 본문에는 알림 메시지와 관련 메타데이터가 JSON 형태로 포함될 수 있어요. 실제 본문 형식은 알림을 생성하는 이벤트 유형에 따라 달라져요.

알림 통합 관리

  • SHOW NOTIFICATION INTEGRATIONS — 통합 나열.
  • DESCRIBE NOTIFICATION INTEGRATION — 통합 세부 정보.
  • ALTER NOTIFICATION INTEGRATION — 통합 수정 (예: 웹훅 URL 변경).

제한 사항

  • 웹훅 엔드포인트는 HTTPS여야 해요.
  • 알림은 여러 알림으로 분할 전송될 수 있으므로 엔드포인트가 이를 처리할 수 있어야 해요.
  • 보안을 위해 WEBHOOK_SECRET을 설정해 엔드포인트가 인증된 알림만 받도록 하는 것이 좋아요.

더 알아보기 (Learn more)