在 Airflow Web UI 中自定義檢視¶
Airflow 具備一項功能,允許透過外掛管理器將自定義 UI 與其核心 UI 整合。
外掛與 Airflow 核心 RestAPI 整合。在此外掛中,從基類 airflow.plugins_manager.AirflowPlugin 派生出兩個物件引用:fastapi_apps 和 fastapi_root_middlewares。
在 Airflow 外掛中使用 fastapi_apps,可以擴充套件核心 RestAPI,以支援提供自定義靜態檔案或任何其他 json/應用程式響應的額外端點。在此物件引用中,會傳遞一個字典列表,其中包含 FastAPI 應用程式以及名稱和 URL 字首等元資料資訊。
在 Airflow 外掛中使用 fastapi_root_middlewares,可以在 FastAPI 應用程式的根部註冊自定義中介軟體。此中介軟體可用於為整個 FastAPI 應用程式(包括核心端點)新增自定義頭部、日誌記錄或任何其他功能。在此物件引用中,會傳遞一個字典列表,其中包含中介軟體工廠物件、初始化引數以及名稱等元資料資訊。
有關注冊 fastapi_apps 和 fastapi_root_middlewares 的資訊和程式碼示例可在外掛文件中找到。
支援 Airflow 2 外掛¶
Airflow 2 外掛仍然受支援,但存在一些限制。有關此類外掛的更多資訊可在 Airflow 2 文件中找到。
仍然支援透過藍圖新增 Rest 端點,這些端點將透過 WSGI 中介軟體整合到 FastAPI 應用程式中,並在 /pluginsv2 下可訪問。
目前無法擴充套件核心 UI,例如透過擴充套件基礎模板來實現。但是,認證管理器 (auth managers) 的額外選單項已新增到核心 UI 的安全選項卡中,並且其 href 會在 iframes 中渲染。fab 提供程式就是透過這種方式將使用者、角色、操作、資源和許可權的自定義檢視整合到 Airflow 3 UI 中的。
Airflow 3 外掛將得到改進,以允許對整個 React 應用進行 UI 自定義,建議在可能的情況下將您的外掛升級到 Airflow 3 外掛。在此之前,對於臨時或自定義需求,可以使用中介軟體將自定義 javascript 或 css 注入到核心 UI 的索引請求中。