首页 > 解决方案 > 如何在 Apache Airflow 中运行的 DAG 中指定运行 ID

问题描述

从网络服务器触发 DAG 并转到图形视图时,运行 ID 如下所示:

在此处输入图像描述

我可以在使用“airflow trigger_dag”通过命令行运行并指定“run_id”时指定此名称,但我不知道在通过网络服务器触发 DAG 时如何指定此 ID?

有没有人找到办法做到这一点?

标签: airflowdirected-acyclic-graphs

解决方案


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 错误。


推荐阅读