管理變數¶
變數是一種通用方式,可以在 Airflow 內以簡單的鍵值儲存方式來儲存和檢索任意內容或設定。變數可以從 UI (管理員 -> 變數
)、程式碼或 CLI 中列出、建立、更新和刪除。

請參閱 變數概念 文件以取得更多資訊。
將變數儲存在環境變數中¶
版本 1.10.10 新增。
Airflow 變數也可以使用環境變數來建立和管理。環境變數命名慣例是 AIRFLOW_VAR_{VARIABLE_NAME}
,全部大寫。因此,如果您的變數鍵是 FOO
,則變數名稱應為 AIRFLOW_VAR_FOO
。
例如,
export AIRFLOW_VAR_FOO=BAR
# To use JSON, store them as JSON strings
export AIRFLOW_VAR_FOO_BAZ='{"hello":"world"}'
您可以在 DAG 中使用它們,如下所示
from airflow.models import Variable
foo = Variable.get("foo")
foo_json = Variable.get("foo_baz", deserialize_json=True)
注意
單底線包圍 VAR
。這與儲存 airflow.cfg
參數的方式形成對比,後者使用雙底線包圍組態區段名稱。使用環境變數設定的變數不會出現在 Airflow UI 中,但您將能夠在 DAG 檔案中使用它們。使用環境變數設定的變數也將優先於在 Airflow UI 中定義的變數。
保護變數安全¶
Airflow 使用 Fernet 來加密儲存在中繼資料儲存庫資料庫中的變數。它保證在沒有加密密碼的情況下,內容無法在沒有金鑰的情況下被操縱或讀取。有關設定 Fernet 的資訊,請參閱 Fernet。
除了從環境變數或中繼資料儲存庫資料庫檢索變數外,您還可以啟用 secrets backend 來檢索變數。有關更多詳細資訊,請參閱 Secrets Backend。