连接 & 钩子

Airflow 通常用于从其他系统拉取和推送数据,因此它提供了一级的 Connection 概念,用于存储与外部系统通信所需的凭证。

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

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

您可以直接在自己的代码中使用 Connection,也可以通过 Hook 使用,或在 模板 中使用它们。

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

钩子

Hook 是与外部平台的高级接口,能够让您快速轻松地与之交互,而无需编写调用其 API 或使用特定库的低层代码。它们通常也是构建 Operator 的基础模块。

它们会与 Connection 集成以获取凭证,且许多 Hook 拥有默认的 conn_id;例如,PostgresHook 若未传入 conn_id,则会自动查找 postgres_default 的 Connection。

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

自定义连接

Airflow 允许定义自定义连接类型。这在 供应商(Providers) 中有详细说明——供应商让您能够自行定义连接。任何供应商都可以进行连接定制,同时社区维护的许多供应商也定义了自定义连接类型。Apache Airflow community managed providers 所提供的全部连接列表可以在 连接 中找到。

此条目是否有帮助?