在气流中,最终用户可以将参数传递给与某些特定 dag 关联的键

Adt*_*Adt 5 python parameter-passing airflow apache-airflow

我搜索了很多链接,但没有找到解决我遇到的问题的任何方法。我已经看到了将 key/var 传递到气流 UI 的选项,但是最终用户将哪个键与哪个 dag 关联真的很令人困惑。有什么方法可以实现以下功能:

While running an airflow job, end user will be asked for values to some parameters and after entering those details airflow will run the job.

s7a*_*ley 5

不幸的是,不可能在 Airflow UI 中等待用户输入。DAG 是以编程方式编写的,这意味着定义为代码,它们不应该是动态的,因为它们是同时导入到 Web 服务器、调度程序和工作程序中的,并且必须相同。

我想出了两种解决方法,我们首先在生产中使用了一段时间。

1)围绕变量创建一个小包装。对于每个 DAG,然后加载变量并组合参数,然后通过default_arguments.

2) 添加 Slack 运算符,可以通过编程方式将其配置为等待用户输入。之后,通过 XCOM 将该信息传播到下一个 Operator。