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 Endpoint (Host)
和Schema
字段的值将被忽略。或者,它可以指定为 URL 路径,例如 T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX,在这种情况下,Slack 入站 Webhook URL 将从此字段、Schema
和Slack Webhook Endpoint (Host)
构建。- 额外
指定可以在 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'