管理變數¶
變數是 Airflow 中一種通用的儲存和檢索任意內容或設定的方式,作為簡單的鍵值儲存。可以在 UI (Admin -> Variables)、程式碼或 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.sdk 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。
除了從環境變數或元資料資料庫檢索變數外,您還可以啟用秘密後端來檢索變數。有關更多詳細資訊,請參閱秘密後端。