Slack 傳入 Webhook 連線¶
Slack 傳入 Webhook 連線類型啟用了Slack 傳入 Webhook整合。
驗證 Slack¶
使用傳入 Webhook URL驗證 Slack。
預設連線 ID¶
警告
airflow.providers.slack.hooks.slack_webhook.SlackWebhookHook
和社群提供的運算子目前不打算預設使用任何 Slack 傳入 Webhook 連線。未來可能會更改為slack_default
。
設定連線¶
- Schema
選填。Http schema,如果未指定,則使用 https。
- Slack Webhook 端點 (主機)
選填。參考 slack webhook 端點,如果未指定,則使用 hooks.slack.com/services。如果端點包含 schema,則忽略
Schema
欄位的值。- Webhook 權杖 (密碼)
指定 Slack 傳入 Webhook URL。可以指定完整網址,例如 https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX,在這種情況下,會忽略
Slack Webhook 端點 (主機)
和Schema
欄位的值。或者,可以指定為 URL 路徑,例如 T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX,在這種情況下,Slack 傳入 Webhook URL 將由此欄位、Schema
和Slack Webhook 端點 (主機)
建立。- 額外
指定可在slack_sdk.WebhookClient中使用的額外參數(以 json 字典形式)。所有參數都是選填的。
timeout
:用戶端等待連線並接收來自 Slack 傳入 Webhook 回應的最長秒數。proxy
:用於進行 Slack 傳入 Webhook 呼叫的代理。
如果您透過 URI 設定連線,請確保 URI 的所有組成部分都經過 URL 編碼。
範例¶
- 以 URI 形式建立連線的程式碼片段:
from airflow.models.connection import Connection conn = Connection( conn_id="slack_default", conn_type="slackwebhook", password="T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX", extra={ # Specify extra parameters here "timeout": "42", }, ) # Generate Environment Variable Name env_key = f"AIRFLOW_CONN_{conn.conn_id.upper()}" print(f"{env_key}='{conn.get_uri()}'")
- 設定 Slack API 連線為環境變數 (URI)
export AIRFLOW_CONN_SLACK_DEFAULT='slackwebhook://:T00000000%2FB00000000%2FXXXXXXXXXXXXXXXXXXXXXXXX@/?timeout=42'