自訂 UI

自訂狀態顏色

版本 1.10.11 中的新功能。

若要變更 Airflow Webserver 中 TaskInstance/DagRun 狀態的顏色,請執行下列步驟

  1. 將以下內容新增至 airflow_local_settings.py 檔案。將顏色變更為您想要的任何顏色。

    STATE_COLORS = {
        "deferred": "mediumpurple",
        "failed": "firebrick",
        "queued": "darkgray",
        "removed": "lightgrey",
        "restarting": "violet",
        "running": "#01FF70",
        "scheduled": "tan",
        "skipped": "darkorchid",
        "success": "#2ECC40",
        "up_for_reschedule": "turquoise",
        "up_for_retry": "yellow",
        "upstream_failed": "orange",
    }
    

    請參閱 設定本機設定 以取得有關如何設定本機設定的詳細資訊。

  2. 重新啟動 Airflow Webserver。

螢幕截圖

之前

../_images/dags-page-old.png ../_images/graph-view-old.png ../_images/tree-view-old.png

之後

../_images/dags-page-new.png ../_images/graph-view-new.png ../_images/tree-view-new.png

注意

請參閱 模組管理 以取得有關 Python 和 Airflow 如何管理模組的詳細資訊。

自訂 DAG UI 標頭和 Airflow 頁面標題

Airflow 現在允許您自訂 DAG 首頁標頭和頁面標題。這將有助於區分 Airflow 的各種安裝,或僅修改頁面文字。

注意

自訂標題將同時套用至頁面標頭和頁面標題。

若要進行此變更,只需

  1. [webserver] 區段下的 airflow.cfg 內新增 instance_name 的組態選項

[webserver]

instance_name = "DevEnv"
  1. 或者,您可以使用環境變數設定自訂標題

AIRFLOW__WEBSERVER__INSTANCE_NAME = "DevEnv"

螢幕截圖

之前

../_images/default_instance_name_configuration.png

之後

../_images/example_instance_name_configuration.png

注意

從 2.3.0 版本開始,您可以在 instance_name 變數中包含標記,以進行進一步的自訂。若要啟用,請將 [webserver] 區段下的 airflow.cfg 內的 instance_name_has_markup 設定為 True

在儀表板上新增自訂警示訊息

版本 2.2.0 中的新功能。

額外的警示訊息可以顯示在 UI 儀表板上。這對於警告有關設定問題或向終端使用者發布變更公告非常有用。以下範例示範如何新增簡單的警示訊息

  1. 將以下內容新增至 airflow_local_settings.py 檔案。

    from airflow.www.utils import UIAlert
    
    DASHBOARD_UIALERTS = [
        UIAlert("Welcome to Airflow"),
    ]
    

    請參閱 設定本機設定 以取得有關如何設定本機設定的詳細資訊。

  2. 重新啟動 Airflow Webserver,您現在應該會看到

../_images/ui-alert-message.png

您也可以控制警示訊息的類別以及應向哪些角色顯示。例如,若要向 User 角色中的使用者顯示警告訊息

DASHBOARD_UIALERTS = [
    UIAlert("Airflow update happening next week", category="warning", roles=["User"]),
]

HTML 也可以包含在訊息中,但必須小心確保安全地完成。如果您的訊息是安全的,您可以直接設定 html=True,否則請使用字串格式化。如需更多資訊,請參閱 MarkupSafe 文件中的字串格式化

DASHBOARD_UIALERTS = [
    UIAlert('Visit <a href="https://airflow.dev.org.tw">airflow.apache.org</a>', html=True),
    UIAlert(Markup("Welcome <em>%s</em>") % ("John & Jane Doe",)),
]

此條目是否有幫助?