CREATE NOTIFICATION INTEGRATION(Google Pub/Sub ํญ๋ชฉ์์ ์ธ๋ฐ์ด๋)ยถ
Google Pub/Sub ํญ๋ชฉ์์ ๋ฉ์์ง๋ฅผ ์์ ํ๊ธฐ ์ํด ๊ณ์ ์ ์ ์๋ฆผ ํตํฉ์ ๋ง๋ค๊ฑฐ๋ ๊ธฐ์กด ํตํฉ์ ๋ฐ๊ฟ๋๋ค.
- ์ฐธ๊ณ ํญ๋ชฉ:
ALTER NOTIFICATION INTEGRATION(Google Pub/Sub ํญ๋ชฉ์์ ์ธ๋ฐ์ด๋) , DESCRIBE NOTIFICATION INTEGRATION , DROP INTEGRATION , SHOW NOTIFICATION INTEGRATIONS
๊ตฌ๋ฌธยถ
CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [ IF NOT EXISTS ] <name>
ENABLED = { TRUE | FALSE }
TYPE = QUEUE
NOTIFICATION_PROVIDER = GCP_PUBSUB
GCP_PUBSUB_SUBSCRIPTION_NAME = '<subscription_id>'
[ COMMENT = '<string_literal>' ]
ํ์ ๋งค๊ฐ ๋ณ์ยถ
name
ํตํฉ์ ๋ํ ์๋ณ์(์ฆ, ์ด๋ฆ)๋ฅผ ์ง์ ํ๋ ๋ฌธ์์ด๋ก, ๊ณ์ ์์ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
๋ํ, ์๋ณ์๋ ์ํ๋ฒณ ๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ์ ์ฒด ์๋ณ์ ๋ฌธ์์ด์ ํฐ๋ฐ์ดํ(์:
"My object"
)๋ก ๋ฌถ์ง ์๋ ํ ๊ณต๋ฐฑ์ด๋ ํน์ ๋ฌธ์๋ฅผ ํฌํจํ ์ ์์ต๋๋ค. ํฐ๋ฐ์ดํ๋ก ๋ฌถ์ธ ์๋ณ์๋ ๋/์๋ฌธ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.์์ธํ ๋ด์ฉ์ ์๋ณ์ ์๊ตฌ ์ฌํญ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
ENABLED = { TRUE | FALSE }
ํตํฉ ์์ ์ ์์ํ ์ง ์ผ์ ์ค๋จํ ์ง ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
TRUE
๋ก ์ง์ ํ๋ฉด ํตํฉ์ด ํ์ฑํ๋ฉ๋๋ค.FALSE
๋ก ์ง์ ํ๋ฉด ์ ์ง ๊ด๋ฆฌ๋ฅผ ์ํด ํตํฉ์ด ๋นํ์ฑํ๋ฉ๋๋ค. Snowflake์ ์๋ ํํฐ ์๋น์ค ๊ฐ์ ํตํฉ์ด ์๋ํ์ง ์์ต๋๋ค.
TYPE = QUEUE
์ด๋ Snowflake์ ์๋ ํํฐ ํด๋ผ์ฐ๋ ๋ฉ์์ง ํ ์๋น์ค ๊ฐ์ ํตํฉ์์ ์ง์ ํฉ๋๋ค.
NOTIFICATION_PROVIDER = GCP_PUBSUB
Google Cloud Pub/Sub๋ฅผ ์๋ ํํฐ ํด๋ผ์ฐ๋ ๋ฉ์์ง ํ ์๋น์ค๋ก ์ง์ ํฉ๋๋ค.
GCP_PUBSUB_SUBSCRIPTION_NAME = 'subscription_id'
Snowflake๊ฐ ์ด๋ฒคํธ ๋ฉ์์ง์ ์ก์ธ์คํ ์ ์๋๋ก ํ์ฉํ๋ ๋ฐ ์ฌ์ฉ๋๋ Pub/Sub ํญ๋ชฉ ๊ตฌ๋ ID์ ๋๋ค.
์ฐธ๊ณ
๋จ์ผ ์๋ฆผ ํตํฉ์ ๋จ์ผ Google Cloud Pub/Sub ๊ตฌ๋ ์ ์ง์ํฉ๋๋ค. ์ด๋ฒคํธ ์๋ฆผ์ ์๋ฆผ ํตํฉ ์ฌ์ด์์ ๋ถํ ๋๋ฏ๋ก ์ฌ๋ฌ ์๋ฆผ ํตํฉ์์ ๋์ผํ Pub/Sub ๊ตฌ๋ ์ ์ฐธ์กฐํ๋ฉด ๋์ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๊ฐ ๋๋ฝ๋ ์ ์์ต๋๋ค.
์ ํ์ ๋งค๊ฐ ๋ณ์ยถ
COMMENT = 'string_literal'
ํตํฉ์ ๋ํ ์ค๋ช ์ ์ง์ ํ๋ ๋ฌธ์์ด(๋ฆฌํฐ๋ด)์ ๋๋ค.
๊ธฐ๋ณธ๊ฐ: ๊ฐ ์์
์ก์ธ์ค ์ ์ด ์๊ตฌ ์ฌํญยถ
์ด ์์ ์ ์คํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ญํ ์๋ ์ต์ํ ๋ค์ ๊ถํ ์ด ์์ด์ผ ํฉ๋๋ค.
๊ถํ |
์ค๋ธ์ ํธ |
์ฐธ๊ณ |
---|---|---|
CREATE INTEGRATION |
๊ณ์ |
Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed. |
์ง์ ๋ ๊ถํ ์ธํธ๋ก ์ฌ์ฉ์ ์ง์ ์ญํ ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ฌ์ฉ์ ์ง์ ์ญํ ๋ง๋ค๊ธฐ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
๋ณด์ ์ค๋ธ์ ํธ ์ ๋ํด SQL ์์ ์ ์ํํ๊ธฐ ์ํ ์ญํ ๊ณผ ๊ถํ ๋ถ์ฌ์ ๋ํ ์ผ๋ฐ์ ์ธ ์ ๋ณด๋ ์ก์ธ์ค ์ ์ด์ ๊ฐ์ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
์ฌ์ฉ๋ฒ ๋ ธํธยถ
์ฌ๋ฌ Google Cloud Pub/Sub ๊ตฌ๋ ์ ๋ํ ๋จ์ผ ์๋ฆผ ํตํฉ ๋ง๋ค๊ธฐ๋ ์ง์๋์ง ์์ต๋๋ค.
๋ค๋ฅธ ์๋ฆผ ํตํฉ๊ณผ ๋์ผํ ํ URL์ด ์๋ ์๋ฆผ ํตํฉ์ ์ฌ์ฉํ์ฌ ์ ํ์ดํ๋ฅผ ์์ฑํ ๋ ํ์ดํ ์์ฑ์ด ์ค๋ฅ ๋ฐ์์ผ๋ก ์คํจํฉ๋๋ค.
Notification queue already in use with another integration.
์ฌ๋ฌ ์ธ๋ฐ์ด๋ ์๋ฆผ ํตํฉ์ ๋์ผํ Google Cloud Pub/Sub ๊ตฌ๋ ์ ์ฌ์ฉํ๋ ๊ฒ์ ์๋ํ๋ ๋ฐ์ดํฐ ๋ก๋ ๋๋ ๋ฉํ๋ฐ์ดํฐ ์๋ก ๊ณ ์นจ์ ์ง์๋์ง ์์ต๋๋ค.
๋ฉํ๋ฐ์ดํฐ ๊ด๋ จ:
์ฃผ์
๊ณ ๊ฐ์ Snowflake ์๋น์ค๋ฅผ ์ฌ์ฉํ ๋ ๊ฐ์ธ ๋ฐ์ดํฐ(์ฌ์ฉ์ ์ค๋ธ์ ํธ ์ ์ธ), ๋ฏผ๊ฐํ ๋ฐ์ดํฐ, ์์ถ ํต์ ๋์ ๋ฐ์ดํฐ ๋๋ ๊ธฐํ ๊ท์ ๋ฐ์ดํฐ๊ฐ ๋ฉํ๋ฐ์ดํฐ๋ก ์ ๋ ฅ๋์ง ์๋๋ก ํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Snowflake์ ๋ฉํ๋ฐ์ดํฐ ํ๋ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
OR REPLACE
๋ฐIF NOT EXISTS
์ ์ ์ํธ ๋ฐฐํ์ ์ ๋๋ค. ๋ ๋ฌธ์๋ฅผ ๊ฐ์ ๋ฌธ์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.CREATE OR REPLACE <์ค๋ธ์ ํธ> ๋ฌธ์ ์์์ฑ์ ๋๋ค. ์ฆ, ์ค๋ธ์ ํธ๊ฐ ๋ฐ๋ ๋ ๋จ์ผ ํธ๋์ญ์ ์ผ๋ก ์ด์ ์ค๋ธ์ ํธ๊ฐ ์ญ์ ๋๊ณ ์ ์ค๋ธ์ ํธ๊ฐ ์์ฑ๋ฉ๋๋ค.
ํด๋ผ์ฐ๋ ๊ณต๊ธ์์ ์ ๋ถ ๋ฆฌ์ ์์๋ ์ด๋ฒคํธ ์๋ฆผ์ด ๋ค๋ฅธ ์์ ๋ฆฌ์ ์ผ๋ก ์ ์ก๋๊ฑฐ๋ ๋ค๋ฅธ ์์ ๋ฆฌ์ ์์ ์ ์ก๋๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค.
์ยถ
๋ค์ ํญ๋ชฉ์ ์ฐธ์กฐํ์ญ์์ค.