連線與 Hook¶
Airflow 常用於將資料拉取和推送至其他系統,因此它具備一流的*連線*概念,用於儲存與外部系統通訊所需的憑據。
連線本質上是一組引數——例如使用者名稱、密碼和主機名——以及其連線的系統型別,以及一個稱為 conn_id 的唯一名稱。
可以透過 UI 或 CLI 進行管理;有關建立、編輯和管理連線的更多資訊,請參見管理連線。存在可定製的連線儲存和後端選項。
您可以直接從自己的程式碼中使用連線,也可以透過 Hook 使用它們,或者從模板中使用它們
echo {{ conn.<conn_id>.host }}
Hook¶
Hook 是連線外部平臺的高階介面,使您無需編寫呼叫其 API 或使用特殊庫的低階程式碼即可快速輕鬆地與其通訊。它們也常常是構建 Operator 的基本組成部分。
它們與連線整合以獲取憑據,並且許多 Hook 都擁有預設的 conn_id;例如,如果您不傳入 conn_id,PostgresHook 會自動查詢 conn_id 為 postgres_default 的連線。
您可以在我們的 API 文件中檢視完整的 Airflow Hook 列表。
自定義連線¶
Airflow 允許定義自定義連線型別。這在Provider 中有詳細描述——Provider 使您能夠定義自己的連線。任何 Provider 都可以進行連線定製,而且許多由社群管理的 Provider 也定義了自定義連線型別。Apache Airflow 社群管理 Provider 提供的所有 Provider 的完整列表可在連線中找到。