【问题标题】:Pass value from operator to dag将值从运算符传递给 dag
【发布时间】:2021-12-29 16:14:56
【问题描述】:

我的 dag 中有一个运行 python 脚本的 BashOperator。在运行结束时,python 脚本会创建一个 json 作为报告。如果失败,我想将此 json 报告给 Slack。我有一个on_failure_callback 函数,可以将消息推送到 Slack。但是,我没有优雅的方式将 json 值传递给 dag。目前,我正在将 json 保存到一个文件中,然后从 dag 中的文件中读取它并报告它。我还尝试将其存储在环境变量中并将其放入 dag 中。但是有没有更直接的方法可以将此值传递给 dag?最好不要将其保存到文件或环境变量中。

【问题讨论】:

    标签: python-3.x airflow


    【解决方案1】:

    而不是使用on_failure_callback,您应该使用另一个任务来发送您的松弛消息。

    为此,您应该简单地使用 XComs 来推/拉文件。 https://airflow.apache.org/docs/apache-airflow/stable/concepts/xcoms.html#

    然后您可以将 xcom 拉到任务中,将其进一步发送到 slack。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      • 2017-08-27
      • 1970-01-01
      • 2012-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多