我在 docker 容器上运行了 airflow
。我正在使用 airflow 2.0.2 版
。
我知道我实际上可以通过 UI 创建池。但我正在寻找一种通过 pools.json
文件在 docker build 上以编程方式创建池的方法。有什么帮助吗?
最佳答案
您可以通过 REST API 以编程方式执行此操作或 CLI . REST API 允许通过 HTTP 一个一个地添加池。 CLI 有一个 command从 JSON 文件导入池:
airflow pools import [-h] [-v] FILEPATH
例如:
{
"pool_1": {"slots": 5, "description": ""},
"pool_2": {"slots": 5, "description": "test"}
}
格式为:[pool name]": {"slots": [nr of slots], "description": "[description]"}
airflow pools import pools.json
该命令是幂等的,因此您可以根据需要多次运行它。对现有池的更改会导致更新,将创建新池。从 pools.json
中删除池不会删除 Airflow 中的池——您必须手动执行此操作。
由于它是幂等的,您可以在您的 Airflow 镜像中构建一个 pools.json
文件,并在您的容器进程开始时运行 airflow pools import
,这样池在每个 Airflow 容器的开头进行检查。
关于docker - 以编程方式创建 Airflow 池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69254552/