CREATE NOTIFICATION INTEGRATION(웹후크)

웹후크 에 대해 새 알림 통합을 만들거나 기존 통합을 바꿉니다.

참고 항목:

ALTER NOTIFICATION INTEGRATION(웹후크) , DESCRIBE INTEGRATION , DROP INTEGRATION , SHOW INTEGRATIONS

구문

CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [ IF NOT EXISTS ] <name>
  TYPE = WEBHOOK
  ENABLED = { TRUE | FALSE }
  WEBHOOK_URL = '<url>'
  [ WEBHOOK_SECRET = <secret_name> ]
  [ WEBHOOK_BODY_TEMPLATE = '<template_for_http_request_body>' ]
  [ WEBHOOK_HEADERS = ( '<header_1>'='<value_1>' [ , '<header_N>'='<value_N>', ... ] ) ]
  [ COMMENT = '<string_literal>' ]
Copy

필수 매개 변수

name

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

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

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

ENABLED = { TRUE | FALSE }

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

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

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

TYPE = WEBHOOK

이것이 웹후크에 대한 알림 통합임을 지정합니다.

WEBHOOK_URL = 'url'

웹후크의 URL을 지정합니다. URL은 https:// 프로토콜을 사용해야 합니다.

다음 URL만 지정할 수 있습니다.

  • Slack 웹후크의 URL. 이러한 URL은 https://hooks.slack.com/services/ 로 시작해야 합니다.

  • Teams 웹후크의 URL. 이러한 URL은 다음과 같은 일반 형식을 사용해야 합니다.

    https://<hostname>.webhook.office.com/webhookb2/<path_components>/IncomingWebhook/<path_components>
    
    Copy
  • PagerDuty 웹후크의 URL. 이 URL은 https://events.pagerduty.com/v2/enqueue 여야 합니다.

URL에 시크릿이 포함되어 있고 해당 시크릿에 대한 시크릿 오브젝트를 생성한 경우 URL에서 해당 시크릿을 SNOWFLAKE_WEBHOOK_SECRET으로 바꾸십시오. 예를 들어, Slack 웹후크 URL에서 시크릿에 대한 시크릿 오브젝트를 생성한 경우 WEBHOOK_URL을 다음으로 설정합니다.

WEBHOOK_URL='https://hooks.slack.com/services/SNOWFLAKE_WEBHOOK_SECRET'
Copy

선택적 매개 변수

WEBHOOK_SECRET = secret_name

이 통합에서 사용할 시크릿 을 지정합니다.

WEBHOOK_URL, WEBHOOK_BODY_TEMPLATE 또는 WEBHOOK_HEADERS에 SNOWFLAKE_WEBHOOK_SECRET 자리 표시자를 사용하는 경우 알림을 보낼 때 자리 표시자가 이 시크릿으로 바뀝니다.

알림을 보낼 때 시크릿 오브젝트가 포함된 데이터베이스와 스키마가 활성화되지 않을 경우 스키마 이름이나 데이터베이스 및 스키마 이름으로 시크릿 이름을 한정합니다. 예:

WEBHOOK_SECRET = my_secrets_db.my_secrets_schema.my_slack_webhook_secret
Copy

이 매개 변수를 지정하려면 시크릿과 시크릿을 포함하는 데이터베이스와 스키마에 대한 USAGE 권한이 있어야 합니다.

기본값: 값 없음

WEBHOOK_BODY_TEMPLATE = 'template_for_http_request_body'

알림을 위해 보낼 HTTP 요청 본문의 템플릿을 지정합니다.

웹후크에서 HTTP 요청 본문에 대해 특정 형식(예: 특정 JSON 형식)이 필요한 경우, 이를 형식을 지정하는 문자열로 설정합니다. 이 문자열에서 다음을 수행합니다.

  • 메시지에 시크릿을 포함해야 하고 해당 시크릿에 대한 시크릿 오브젝트를 생성한 경우 메시지에 시크릿이 나타나야 할 위치에 SNOWFLAKE_WEBHOOK_SECRET 자리 표시자를 사용하십시오.

  • 알림 메시지를 포함해야 하는 곳에 SNOWFLAKE_WEBHOOK_MESSAGE 자리 표시자를 사용하십시오.

예:

WEBHOOK_BODY_TEMPLATE='{
  "routing_key": "SNOWFLAKE_WEBHOOK_SECRET",
  "event_action": "trigger",
  "payload":
    {
      "summary": "SNOWFLAKE_WEBHOOK_MESSAGE",
      "source": "Snowflake monitoring",
      "severity": "INFO",
    }
  }'
Copy

WEBHOOK_BODY_TEMPLATE을 설정하는 경우 메시지 유형과 함께 Content-Type 헤더를 포함하도록 WEBHOOK_HEADERS도 설정해야 합니다. 예를 들어, WEBHOOK_BODY_TEMPLATE을 JSON 형식의 템플릿으로 설정하는 경우 헤더 Content-Type: application/json 을 포함하도록 WEBHOOK_HEADERS를 설정하십시오.

WEBHOOK_HEADERS=('Content-Type'='application/json')
Copy

기본값: 값 없음

WEBHOOK_HEADERS = ( 'header'='value' [ , 'header'='value', ... ] )

웹후크에 대한 HTTP 요청에 포함할 HTTP 헤더와 값의 목록을 지정합니다.

HTTP 헤더에 시크릿(예: Authorization 헤더)을 포함해야 하는 경우 해당 시크릿에 대한 시크릿 오브젝트를 생성한 경우 헤더 값에 SNOWFLAKE_WEBHOOK_SECRET 자리 표시자를 사용합니다. 예:

WEBHOOK_HEADERS=('Authorization'='Basic SNOWFLAKE_WEBHOOK_SECRET')
Copy

기본값: 값 없음

COMMENT = 'string_literal'

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

기본값: 값 없음

액세스 제어 요구 사항

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

권한

오브젝트

참고

CREATE INTEGRATION

계정

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

USAGE

시크릿

WEBHOOK_SECRET 속성을 시크릿 오브젝트로 설정하는 경우 해당 시크릿과 해당 시크릿이 포함된 데이터베이스와 스키마에 대해 USAGE 권한이 있어야 합니다.

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

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

사용법 노트

  • 메타데이터 관련:

    주의

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

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

웹훅 알림 통합 만들기 섹션을 참조하십시오.