Airflow 峰会 2025 将于 10 月 07-09 日举行。立即注册获取早鸟票!

连接与 Hook

Airflow 常用于将数据拉取和推送至其他系统,因此它具备一流的*连接*概念,用于存储与外部系统通信所需的凭据。

连接本质上是一组参数——例如用户名、密码和主机名——以及其连接的系统类型,以及一个称为 conn_id 的唯一名称。

可以通过 UI 或 CLI 进行管理;有关创建、编辑和管理连接的更多信息,请参见管理连接。存在可定制的连接存储和后端选项。

您可以直接从自己的代码中使用连接,也可以通过 Hook 使用它们,或者从模板中使用它们

echo {{ conn.<conn_id>.host }}

Hook

Hook 是连接外部平台的高级接口,使您无需编写调用其 API 或使用特殊库的低级代码即可快速轻松地与其通信。它们也常常是构建 Operator 的基本组成部分。

它们与连接集成以获取凭据,并且许多 Hook 都拥有默认的 conn_id;例如,如果您不传入 conn_idPostgresHook 会自动查找 conn_idpostgres_default 的连接。

您可以在我们的 API 文档中查看完整的 Airflow Hook 列表

自定义连接

Airflow 允许定义自定义连接类型。这在Provider 中有详细描述——Provider 使您能够定义自己的连接。任何 Provider 都可以进行连接定制,而且许多由社区管理的 Provider 也定义了自定义连接类型。Apache Airflow 社区管理 Provider 提供的所有 Provider 的完整列表可在连接中找到。

本条目有帮助吗?