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'

这篇条目有帮助吗?