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'

這篇條目有幫助嗎?