【问题标题】:Airflow send slack message to multiple channels气流将松弛消息发送到多个通道
【发布时间】:2021-10-30 21:01:45
【问题描述】:

我使用 apache 气流,我想将消息发送到多个渠道,我想知道什么是最好的解决方案。 我有我的脚本:

t_success_notification = SlackAPIPostOperator(
task_id = 'success-notification'
, trigger_rule = 'all_success'
, channel = '#channel1'
, token = ...
, text = "success"
, dag = dag)

t_success_notification.set_upstream(task1)

那么我应该怎么做才能将通知也发送到#channel2。我可以列出昏迷后的频道吗:

...
, channel = '#channel1,#channel2,#channel3'
...

有人知道怎么做吗?亲切的问候

【问题讨论】:

标签: airflow


【解决方案1】:

另一种设置方法是使用此 Slack 集成来获取频道的电子邮件地址: https://astronomerteam.slack.com/apps/A0F81496D-email

这为我们提供了与频道关联的电子邮件地址。然后,我们只需将此电子邮件地址放入 DAG 的 email arg 中。这使得我们不必为任何 Slack 通道通知使用单独的运算符,并且可以轻松地将警报发送到多个通道(成功、重试、失败等)。

【讨论】:

    【解决方案2】:

    不幸的是,您无法使用其他易于使用的 SlackPostOperator 来完成此操作。如果您查看 SlackPostOperator 的代码:https://airflow.apache.org/_modules/slack_operator.html,它使用 SlackAPI 的代码:https://github.com/slackapi/python-slackclient,您可以从文档中看到它不采用多个通道作为参数。

    正如另一位发帖者所提到的 - 一个好的解决方案是为每个松弛通道创建电子邮件别名,然后您可以将这些电子邮件添加到默认参数部分的电子邮件设置中。 IE。: “电子邮件”:[“channel1_integration@slack.com”, "channel2_integration@slack.com"], “email_on_failure”:错误,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-30
      相关资源
      最近更新 更多