airflow.models.variable

模組內容

類別

Variable (變數)

一種通用方法,用於將任意內容或設定儲存和檢索為簡單的鍵/值儲存。

屬性

log

airflow.models.variable.log[source]
class airflow.models.variable.Variable(key=None, val=None, description=None)[source]

Bases: airflow.models.base.Base, airflow.utils.log.logging_mixin.LoggingMixin

一種通用方法,用於將任意內容或設定儲存和檢索為簡單的鍵/值儲存。

property val[source]

從 Metadata DB 取得 Airflow 變數,並使用 Fernet 金鑰解碼。

__tablename__ = 'variable'[source]
id[source]
key[source]
description[source]
is_encrypted[source]
on_db_load()[source]
__repr__()[source]

傳回 repr(self)。

get_val()[source]

從 Metadata DB 取得 Airflow 變數,並使用 Fernet 金鑰解碼。

set_val(value)[source]

使用 Fernet 金鑰編碼指定的值,並將其儲存在 Variables 表格中。

classmethod setdefault(key, default, description=None, deserialize_json=False)[source]

傳回金鑰的目前值,或儲存預設值並傳回。

運作方式與 Python 內建 dict 物件相同。

參數
  • key – 此變數的 Dict 金鑰

  • default – 如果變數尚未在資料庫中,則設定並傳回的預設值

  • description – 設定變數描述的預設值

  • deserialize_json – 將此作為 JSON 編碼值儲存在資料庫中,並在檢索值時解碼

  • session – 工作階段

傳回

混合

classmethod get(key, default_var=__NO_DEFAULT_SENTINEL, deserialize_json=False)[source]

取得 Airflow 變數金鑰的值。

參數
  • key (str) – 變數金鑰

  • default_var (Any) – 如果變數不存在,則為變數的預設值

  • deserialize_json (bool) – 將值反序列化為 Python dict

static set(key, value, description=None, serialize_json=False, session=None)[source]

為具有給定金鑰的 Airflow 變數設定值。

此操作會覆寫現有的變數。

參數
  • key (str) – 變數金鑰

  • value (Any) – 要為變數設定的值

  • description (str | None) – 變數的描述

  • serialize_json (bool) – 將值序列化為 JSON 字串

  • session (sqlalchemy.orm.Session) – 工作階段

static update(key, value, serialize_json=False, session=None)[source]

使用提供的值更新給定的 Airflow 變數。

參數
  • key (str) – 變數金鑰

  • value (Any) – 要為變數設定的值

  • serialize_json (bool) – 將值序列化為 JSON 字串

  • session (sqlalchemy.orm.Session) – 工作階段

static delete(key, session=None)[source]

刪除給定金鑰的 Airflow 變數。

參數

key (str) – 變數金鑰

rotate_fernet_key()[source]

輪替 Fernet 金鑰。

static check_for_write_conflict(key)[source]

如果變數存在於中繼資料儲存區外部,則記錄警告。

如果我們嘗試將變數寫入中繼資料儲存區,同時相同的金鑰存在於環境變數或自訂密碼後端中,則後續讀取將不會讀取設定的值。

參數

key (str) – 變數金鑰

static get_variable_from_secrets(key)[source]

透過迭代所有 Secret Backends 取得 Airflow 變數。

參數

key (str) – 變數金鑰

傳回

變數值

回傳類型

str | None

此條目是否有幫助?