连接与钩子

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

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

可以通过用户界面或命令行界面进行管理;有关创建、编辑和管理连接的更多信息,请参阅管理连接。提供可自定义的连接存储和后端选项。

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

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

钩子(Hooks)

Hook是与外部平台交互的高级接口,它让您能快速便捷地与这些平台通信,而无需编写调用其API或使用特殊库的低级代码。Hook通常也是构建Operator的基础组件。

它们通过Connections集成来收集凭证,许多都有一个默认的conn_id;例如,PostgresHook会自动查找带有conn_idpostgres_default的Connection(如果您没有传入的话)。

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

自定义连接

Airflow允许定义自定义连接类型。这在Provider packages中有详细描述 - 提供者使您能够定义自己的连接。 连接定制可以由任何提供者完成,同时社区管理的许多提供者也定义了自定义连接类型。 由Apache Airflow community managed providers提供的所有提供者的完整列表可以在Connections中找到。

这篇内容对您有帮助吗?