以编程方式创建气流池
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 容器的开始。
我在 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 容器的开始。