访问 Airflow REST API

Cloud Composer 1 | Cloud Composer 2

Apache Airflow 具有一个 REST API 接口,可用于执行诸如以下任务:获取有关 DAG 运行和任务的信息、更新 DAG、获取 Airflow 配置、添加和删除连接以及列出用户。

示例

如需查看使用 Airflow REST API 的示例,请参阅使用 Cloud Functions 触发 DAG

Airflow REST API 版本

Cloud Composer 2 中提供了以下 Airflow REST API 版本:

  • Airflow 2 使用稳定的 REST API。Airflow 已弃用实验性 REST API。

  • 如果您通过 Airflow 配置替换来启用实验性 REST API,则仍然可以在 Airflow 2 中使用该 API,如下文所述。

准备工作

启用 Cloud Composer API。

启用 API

启用稳定的 Airflow REST API

Airflow 2

Cloud Composer 使用自己的 API 身份验证后端,该后端与 Identity-Aware Proxy 集成。

授权以 Airflow 提供的标准方式工作。当新用户通过 API 授权时,该用户的帐号默认获得 Op 角色。

您可以通过替换以下 Airflow 配置选项来启用或停用稳定的 REST API 或更改默认用户角色:

部分 备注
api auth_backend airflow.composer.api.backend.composer_auth 如需停用稳定的 REST API,请更改为 airflow.api.auth.backend.deny_all
api composer_auth_user_registration_role Op 您可以指定任何其他角色

Airflow 1

Cloud Composer 2 中不提供 Airflow 1。

启用实验性 Airflow REST API

Airflow 2

默认情况下,API 身份验证功能在实验性 API 中处于停用状态。Airflow 网络服务器会拒绝您发出的所有请求。

如需启用 API 身份验证功能和 Airflow 2 实验性 API,请替换以下 Airflow 配置选项:

部分 备注
api auth_backend airflow.api.auth.backend.default 默认为 airflow.composer.api.backend.composer_auth
api enable_experimental_api True 默认值为 False

Airflow 1

Cloud Composer 2 中不提供 Airflow 1。

api-auth_backend 配置选项设置为 airflow.api.auth.backend.default 后,Airflow Web 服务器会接受所有 API 请求,无需进行身份验证。虽然 Airflow Web 服务器本身不需要进行身份验证,但它仍受 Identity-Aware Proxy 的保护,后者提供自己的身份验证层。

后续步骤