웹훅 알림 보내기¶
다음 시스템에서 제공하는 웹훅을 사용하면 Snowflake 알림을 다음 외부 시스템과 통합할 수 있습니다.
참고
Snowflake는 위에 나열된 시스템 이외의 외부 시스템에는 웹훅 알림을 보내지 않습니다.
이러한 시스템 중 하나에 알림을 보내려면:
다음 섹션에서는 이러한 외부 시스템에 알림을 설정하고 보내는 방법에 대한 자세한 내용을 제공합니다.
웹훅 URL에 대한 시크릿 만들기¶
대부분의 웹훅은 수신되는 HTTP 요청에 시크릿 또는 통합 키가 필요합니다. 예:
Slack에서 수신 웹훅을 만들 때 웹훅의 URL에는 시크릿이 포함됩니다.
`Workflows for Microsoft Teams를 사용하여 수신 웹훅을 생성`_할 때 웹훅의 URL에 시크릿이 포함됩니다.
2025년 11월 30일까지 Microsoft Teams는 다음 형식의 URLs을 지원합니다.
`2025년 11월 30일부터<https://learn.microsoft.com/en-us/troubleshoot/power-platform/power-automate/flow-run-issues/triggers-troubleshoot?tabs=new-designer#changes-to-http-or-teams-webhook-trigger-flows>`_, Microsoft Teams는 다음 형식의 URLs을 지원합니다.
PagerDuty 서비스에 대한 통합 서비스를 설정 하면 통합 서비스에서 웹훅 요청에 포함해야 하는 연동 키를 제공합니다.
이 시크릿 키나 통합 키의 경우 일반 문자열 유형의 시크릿 오브젝트를 생성하는 것이 좋습니다. 이 시크릿 오브젝트는 다음과 같은 방식으로 사용됩니다.
웹훅 알림 통합을 생성할 때 CREATE NOTIFICATION INTEGRATION 문에 이 시크릿 오브젝트를 지정합니다.
알림을 보낼 때 시크릿 오브젝트는 웹훅에 대한 HTTP 요청을 구성하는 데 사용됩니다.
다음 사항을 참고하십시오.
웹훅 알림 통합을 생성할 때 이 시크릿에 대한 USAGE 권한이 있는 역할을 사용해야 합니다.
이 웹훅으로 알림을 보낼 때는 이 시크릿에 대한 READ 권한과 시크릿이 포함된 데이터베이스 및 스키마에 대한 USAGE 권한이 있는 역할을 사용해야 합니다.
이 오브젝트를 만들려면 CREATE SECRET 명령을 사용하고 TYPE=GENERIC_STRING으로 지정합니다. 해당 오브젝트를 생성하려면 스키마에 대해 CREATE SECRET 권한이 있는 역할을 사용해야 합니다.
다음 섹션에서는 시크릿 오브젝트를 생성하는 예제를 제공합니다.
예제 1: Slack 웹훅에 대한 시크릿 만들기¶
URL을 사용하여 Slack 웹훅 으로 알림을 보내려고 한다고 가정해 보겠습니다.
이 예제에서 웹훅 URL에는 시크릿 T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX 가 포함되어 있습니다.
다음 문을 실행하여 이 시크릿에 대한 시크릿 오브젝트를 생성합니다.
예 2: Workflows for Microsoft Teams 웹훅에 대한 시크릿 만들기¶
다음 URLs 중 하나를 사용하여 `Workflows for Microsoft Teams 웹훅`_에 알림을 보내려고 한다고 가정해 보겠습니다.
Microsoft API 데이터 형식에 대한 자세한 내용은 https://adaptivecards.io/를 참조하세요.
이 예제에서 웹훅 URL에는 시크릿 xxxxxxxx 가 포함되어 있습니다.
다음 문을 실행하여 이 시크릿에 대한 시크릿 오브젝트를 생성합니다.
예제: PagerDuty 웹훅에 대한 시크릿 만들기¶
PagerDuty 웹훅 으로 알림을 보내려고 하고 통합 키(요청의 routing_key 필드에 포함해야 하는 값)가 다음과 같다고 가정해 보겠습니다.
다음 문을 실행하여 이 시크릿에 대한 시크릿 오브젝트를 생성합니다.
웹훅 알림 통합 만들기¶
웹훅 유형의 알림 통합을 생성하려면 CREATE NOTIFICATION INTEGRATION 명령을 사용합니다.
이 명령을 실행할 때 다음 속성을 설정하여 알림을 위해 전송할 HTTP 요청을 설정합니다.
TYPE를 WEBHOOK으로 설정합니다.
URL, HTTP 요청 본문 또는 헤더에 포함할 시크릿 오브젝트를 생성한 경우 WEBHOOK_SECRET을 해당 시크릿 오브젝트의 이름으로 설정합니다.
웹훅의 경우 WEBHOOK_URL을 URL로 설정합니다.
웹훅 URL에 시크릿이 포함되어 있고 이 시크릿에 대한 시크릿 오브젝트를 생성한 경우 URL의 시크릿을 SNOWFLAKE_WEBHOOK_SECRET으로 바꿉니다.
웹훅용 메시지 본문이 이 외부 시스템의 특정 형식이어야 하는 경우(예: 이 시스템으로 보내는 모든 메시지가 동일한 형식을 사용해야 하는 경우) WEBHOOK_BODY_TEMPLATE을 메시지의 템플릿으로 설정합니다. 이 템플릿에서:
메시지 본문에 시크릿이 표시되어야 하는 위치에 SNOWFLAKE_WEBHOOK_SECRET 자리 표시자를 사용합니다.
알림 메시지가 표시되어야 하는 위치에 SNOWFLAKE_WEBHOOK_MESSAGE 자리 표시자를 사용합니다.
SYSTEM$SEND_SNOWFLAKE_NOTIFICATION 을 호출하고 메시지를 전달하면 저장 프로시저가 템플릿을 사용하여 웹훅 요청의 본문을 구성합니다. 저장 프로시저는 SNOWFLAKE_WEBHOOK_MESSAGE 자리 표시자를 사용자가 전달한 메시지로 대체합니다.
웹훅에 대한 HTTP 요청에 특정 HTTP 헤더를 포함해야 하는 경우 헤더 이름 및 값 목록에 WEBHOOK_HEADERS를 설정합니다.
헤더 값에 시크릿이 표시되어야 하는 위치에 SNOWFLAKE_WEBHOOK_SECRET 자리 표시자를 사용합니다.
다음 섹션에서는 다양한 유형의 외부 시스템에 대한 웹훅 알림 통합을 생성하는 예제를 제공합니다.
예제 1: Slack 웹훅에 대한 알림 통합 만들기¶
URL을 사용하여 Slack 웹훅으로 알림을 보내려고 한다고 가정해 보겠습니다.
URL에 표시되는 T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX 시크릿을 위해 이름이 my_slack_webhook_secret 인 시크릿 오브젝트를 생성 했다고 가정해 보겠습니다.
다음 문을 실행하여 이 웹훅에 대한 알림 통합을 생성합니다.
예 2: Workflows for Microsoft Teams 웹훅에 대한 알림 통합 만들기¶
다음 URLs 중 하나를 사용하여 Workflows for Microsoft Teams 웹훅에 알림을 보내려고 한다고 가정해 보겠습니다.
URL에 표시되는 시크릿 ``xxxxxxxx``에 대해 ``my_teams_webhook_secret``이라는 :ref:`시크릿 오브젝트를 생성<label-notifications_webhook_secret_teams>`했다고 가정해 보겠습니다. (Microsoft API 데이터 형식에 대한 자세한 내용은 https://adaptivecards.io/를 참조하세요.)
다음 문 중 하나를 실행하여 이 웹훅에 대한 알림 통합을 생성합니다.
logic.azure.comURL의 경우:environment.api.powerplatform.comURL의 경우:
참고
WEBHOOK_URL 매개 변수의 URL에서 포트 번호(:443)를 생략해야 합니다.
예제 3: PagerDuty 웹훅에 대한 알림 통합 만들기¶
URL을 사용하여 PagerDuty 웹훅으로 알림을 보내려고 한다고 가정해 보겠습니다.
메시지 본문의 routing_key 필드에 포함되어야 하는 통합 키 xxxxxx 에 대해 이름이 my_pagerduty_webhook_secret 인 시크릿 오브젝트를 생성 했다고 가정해 보겠습니다.
다음 문을 실행하여 이 웹훅에 대한 알림 통합을 생성합니다.
웹훅에 알림 보내기¶
웹훅에 알림을 보내려면:
SANITIZE_WEBHOOK_CONTENT 함수를 전달하여 메시지에서 자리 표시자(예: SNOWFLAKE_WEBHOOK_SECRET)를 제거합니다.
SYSTEM$SEND_SNOWFLAKE_NOTIFICATION 저장 프로시저를 호출하여 위생 처리된 메시지를 전달하고 사용할 웹훅 알림 통합의 이름을 지정합니다.
예를 들어, 다음 문은 앞서 만든 알림 통합을 사용하여 JSON 메시지를 Slack 웹훅으로 보냅니다.
이 예제에서 문은 일반 텍스트(my message)로 메시지를 전달합니다. 알림 통합의 WEBHOOK_BODY_TEMPLATE 속성으로 지정된 템플릿에서 웹훅 요청의 본문을 작성할 때 SYSTEM$SEND_SNOWFLAKE_NOTIFICATION은 전달한 메시지로 SNOWFLAKE_WEBHOOK_MESSAGE 자리 표시자를 대체합니다.
예를 들어, 요청 본문에 다음 템플릿을 지정했다고 가정해 보겠습니다.
SYSTEM$SEND_SNOWFLAKE_NOTIFICATION은 다음과 같은 본문으로 요청을 구성합니다.