Slack 传入 Webhook 连接¶
Slack 传入 Webhook 连接类型启用 Slack 传入 Webhook 集成。
验证 Slack¶
使用 传入 Webhook URL 验证 Slack。
默认连接 ID¶
警告
airflow.providers.slack.hooks.slack_webhook.SlackWebhookHook
和社区提供的操作符目前不打算默认使用任何 Slack 传入 Webhook 连接。将来可能会更改为 slack_default
。
配置连接¶
- 模式
可选。Http 模式,如果未指定,则使用 https。
- Slack Webhook 端点(主机)
可选。指向 Slack Webhook 端点的引用,如果未指定,则使用 hooks.slack.com/services。如果端点包含模式,则忽略
模式
字段中的值。- Webhook 令牌(密码)
指定 Slack 传入 Webhook URL。它可以指定为完整 URL,如 https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX,在这种情况下,忽略
Slack Webhook 端点 (主机)
和模式
字段的值。或者,它可以指定为 URL 路径,如 T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX,在这种情况下,Slack 传入 Webhook URL 将从此字段、模式
和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'