从开发的角度来看,在UI中定义变量和连接是有效的,但并不可靠,因为无法跟踪已添加和删除的内容。
Airflow came up with a way to store variables as environment variables。但由此产生了几个自然的问题:
我猜在一个完美的世界里,我要寻找的解决方案是以某种方式定义airflow.cfg文件中的变量和连接的值,该文件将自动填充UI中的变量和连接。
任何形式的帮助都是非常感谢的。提前感谢您!
推荐答案还有一种存储、管理和连接的方法,它最通用、最安全,并为您提供所有版本控制和审核支持--即秘密后端。
airflow.apache/docs/apache-airflow/stable/security/secrets/secrets-backend/index.html
它内置了与存储库、GCP Secret Store、AWS Secret Store的集成,您可以使用本地文件系统Secret后端,也可以滚动自己的后端。
当您使用其中之一时,您将获得来自您使用的Secret后端的所有版本控制、管理、安全和访问管理(大多数Secret后端都内置了这些功能)。
这也意味着您不能通过Airflow UI查看/编辑值,因为它都被委托给那些后端。但后端通常都有自己的用户界面。
回答您的问题:
如果通过环境变量定义连接/变量,则应在您的Worker and Scheduler中定义变量,而不是在DAG中定义。这意味着(如果您的系统是分布式的),您需要有一种机制来更新这些变量,并在它们发生变化时重新启动所有气流过程(例如,通过使用这些变量部署新图像或升级舵图等)
否。用户界面仅显示在数据库中定义的变量/连接。
更多推荐
如何对气流变量和连接进行版本控制?
发布评论