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>' ]
필수 매개 변수¶
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>
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'
선택적 매개 변수¶
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
이 매개 변수를 지정하려면 시크릿과 시크릿을 포함하는 데이터베이스와 스키마에 대한 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", } }'
WEBHOOK_BODY_TEMPLATE을 설정하는 경우 메시지 유형과 함께
Content-Type
헤더를 포함하도록 WEBHOOK_HEADERS도 설정해야 합니다. 예를 들어, WEBHOOK_BODY_TEMPLATE을 JSON 형식의 템플릿으로 설정하는 경우 헤더Content-Type: application/json
을 포함하도록 WEBHOOK_HEADERS를 설정하십시오.WEBHOOK_HEADERS=('Content-Type'='application/json')
기본값: 값 없음
WEBHOOK_HEADERS = ( 'header'='value' [ , 'header'='value', ... ] )
웹후크에 대한 HTTP 요청에 포함할 HTTP 헤더와 값의 목록을 지정합니다.
HTTP 헤더에 시크릿(예:
Authorization
헤더)을 포함해야 하는 경우 해당 시크릿에 대한 시크릿 오브젝트를 생성한 경우 헤더 값에 SNOWFLAKE_WEBHOOK_SECRET 자리 표시자를 사용합니다. 예:WEBHOOK_HEADERS=('Authorization'='Basic SNOWFLAKE_WEBHOOK_SECRET')
기본값: 값 없음
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 <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
예¶
웹훅 알림 통합 만들기 섹션을 참조하십시오.