Slack Incoming Webhook 連線¶
Slack Incoming Webhook 連線型別支援 Slack Incoming Webhooks 整合。
向 Slack 進行認證¶
使用 Incoming Webhook URL 向 Slack 進行認證。
預設連線 ID¶
警告
airflow.providers.slack.hooks.slack_webhook.SlackWebhookHook 和社群提供的運算子目前預設不使用任何 Slack Incoming Webhook 連線。未來可能會更改為 slack_default。
配置連線¶
- 模式
可選。Http 模式,如果未指定則使用 https。
- Slack Webhook 端點 (主機)
可選。Slack Webhook 端點的引用,如果未指定則使用 hooks.slack.com/services。如果端點包含模式,則忽略“模式”欄位的值。
- Webhook 令牌 (密碼)
指定 Slack Incoming Webhook URL。可以指定為完整 URL,例如 https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX,在這種情況下將忽略“Slack Webhook 端點 (主機)”和“模式”欄位的值。也可以指定為 URL 路徑,例如 T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX,在這種情況下 Slack Incoming Webhook URL 將由此欄位、“模式”和“Slack Webhook 端點 (主機)”欄位的值構建。
- 額外引數
指定可在 slack_sdk.WebhookClient 中使用的額外引數 (作為 json 字典)。所有引數均為可選。
timeout:客戶端等待連線並從 Slack Incoming Webhook 接收響應的最大秒數。proxy:用於進行 Slack Incoming 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'