python-3.x - 想在 Airflow 中使用 TriggerDagRunOperator 通过仅使用 Main-dag 和 bashoperator(子 dag 运算符)来触发许多子 dag
问题描述
无法使用 TriggerDagRunOperator 理解气流中有效载荷的概念。请帮助我以非常简单的方式理解这个术语。
解决方案
TriggerDagRunOperator
触发指定的 DAG运行dag_id
。这需要一个trigger_dag_id
with 类型string
和一个 python_callable 参数,它是对 python 函数的引用,该函数将在传递给它的context
对象和一个占位符对象obj
以供您的可调用对象填充并返回,如果您想要创建 DagRun。此obj
对象包含您可以在函数中修改的run_id
and属性。payload
run_id
应该是该 DAG 运行的唯一标识符,并且有效负载必须是可在执行该 DAG 运行时对您的任务可用的可挑选对象。你的函数头应该看起来像def foo(context, dag_run_obj):
picklable仅仅意味着它可以被pickle模块序列化。要对此有一个基本的了解,请参阅什么可以腌制和取消腌制?. pickle 协议提供了更多细节,并展示了类如何自定义流程。
推荐阅读
- mysql - 哪个更好,定义两个表,或者有一个布尔标志来确定用户的类型
- jenkins - 在 Jenkins 中运行 Fitnesse 或 Selenium 测试
- javascript - 暂停 QML 计时器?
- git - git restore 和 git revert 之间的区别
- swift - 在 Core Data 中的相关实体之间传递数据时的空值
- c++ - C++ libcurl 响应仅显示第一行响应
- ios - 如何在 Swift 中编码 simd_float4x4 元素数组(将 simd_float4x4 转换为数据)?
- java - java中的自过期对象(Timertask)
- javascript - React.js - 如何在页面加载时提交表单?
- c++ - 从 Windows C++ 应用程序执行 powershell 脚本