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

In airflow can end user pass parameters to keys which are associated with some specific dag

我搜索了很多链接,但没有找到解决我遇到的问题的方法。我已经看到将 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.

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

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

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

将这些参数传递给运算符

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