docker - 以编程方式创建 Airflow 池

标签 docker airflow

我在 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/

相关文章:

未指定 Docker cp 路径

java - 在 docker 容器内使用 headless chrome 运行 gauge java 规范

docker - 是否可以为 `docker build` 设置 MAC 地址?

docker - 在 $PATH 中找不到可执行文件

airflow - 如何从不同的 dag 中获取所有失败任务的列表

airflow - 如何修复 Airflow DAG 日志中的 "Failed to fetch log file from worker. Unsupported URL protocol"错误?

bash - 如何设置 Airflow 的电子邮件配置以发送有关错误的电子邮件?

python - 将数据从 Amazon s3 复制到 redshift

airflow - 如何在 Airflow 中的不同 DAG 之间设置优先级

docker - 无法将 docker 镜像推送到本地私有(private)注册表上