airflow - 如何在 Apache Airflow 中运行的 DAG 中指定运行 ID
问题描述
从网络服务器触发 DAG 并转到图形视图时,运行 ID 如下所示:
我可以在使用“airflow trigger_dag”通过命令行运行并指定“run_id”时指定此名称,但我不知道在通过网络服务器触发 DAG 时如何指定此 ID?
有没有人找到办法做到这一点?
解决方案
Airflow 2.0 发布了稳定的 REST API,我们可以在其中提及特定的 dag_run_id。这是链接:https ://airflow.apache.org/docs/apache-airflow/stable/stable-rest-api-ref.html#operation/post_dag_run
dag_run_id
:该字段的值只能在创建对象时设置。如果您尝试修改现有对象的字段,请求将失败并出现 BAD_REQUEST 错误。
如果未提供,将根据 execution_date 生成一个值。
如果指定的 dag_run_id 正在使用中,则创建请求将失败并出现 ALREADY_EXISTS 错误。
这与 DAG_ID 一起是唯一键。
execution_date
: 执行日期。这是根据 DAG 定义开始 DAG 运行的时间。该字段的值只能在创建对象时设置。如果您尝试修改现有对象的字段,请求将失败并出现 BAD_REQUEST 错误。这与 DAG_ID 一起是唯一键。
state
:触发 REST API 时建议不要提供此参数。
conf
:描述附加配置参数的 JSON 对象。该字段的值只能在创建对象时设置。如果您尝试修改现有对象的字段,请求将失败并出现 BAD_REQUEST 错误。
推荐阅读
- python - 如何在大熊猫 DataFrame 中将 3 列的组连接成一个?
- java - Eclipse Java - 对于每一行循环
- c# - 以编程方式处理来自 HDD 的大量文件的正确方法
- python - 如何检查正确的数字定位?
- sql-server - SQL Server:一个大表数据库 vs 多个数据库
- odata - SAP UI5 筛选表显示意外值
- javascript - Meteor Collection fetch 仅在插入后工作
- python - 未从 HTML 表/数据库(Django)中删除已检查的行
- php - 正则表达式将字符串公式转换为mysql,如php中的查询
- events - Cucumber ConcurrentEventListener 实现机制在 Docker 容器上执行测试时不起作用