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'