以编程方式创建气流池

Create airflow pools programatically

我在 docker 容器上有 airflow 运行。我正在使用气流 version 2.0.2.

我知道我实际上可以通过 UI 创建池。但我正在寻找一种通过 pools.json 文件在 docker 上以编程方式创建池的方法。有什么帮助吗?

您可以通过 REST API or CLI. The REST API allows for adding pools over HTTP one by one. The CLI has a 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 容器的开始。