airflow.models.variable
¶
Module Contents¶
Attributes¶
- class airflow.models.variable.Variable(key=None, val=None, description=None)[source]¶
Bases:
airflow.models.base.Base
,airflow.utils.log.logging_mixin.LoggingMixin
Variables are a generic way to store and retrieve arbitrary content or settings as a simple key value store within Airflow.
- set_val(self, value)[source]¶
Encode the specified value with Fernet Key and store it in Variables Table.
- classmethod setdefault(cls, key, default, description=None, deserialize_json=False)[source]¶
Like a Python builtin dict object, setdefault returns the current value for a key, and if it isn’t there, stores the default value and returns it.
- Parameters
key (str) – Dict key for this Variable
default (Mixed) – Default value to set and return if the variable isn’t already in the DB
deserialize_json – Store this as a JSON encoded value in the DB and un-encode it when retrieving a value
- Returns
Mixed
- classmethod get(cls, key: str, default_var: Any = __NO_DEFAULT_SENTINEL, deserialize_json: bool = False) Any [source]¶
Gets a value for an Airflow Variable Key
- Parameters
key – Variable Key
default_var – Default value of the Variable if the Variable doesn’t exists
deserialize_json – Deserialize the value to a Python dict
- classmethod set(cls, key: str, value: Any, description: str = None, serialize_json: bool = False, session: sqlalchemy.orm.Session = None)[source]¶
Sets a value for an Airflow Variable with a given Key. This operation will overwrite an existing variable.
- Parameters
key – Variable Key
value – Value to set for the Variable
description – Value to set for the Variable
serialize_json – Serialize the value to a JSON string
session – SQL Alchemy Sessions
- classmethod update(cls, key: str, value: Any, serialize_json: bool = False, session: sqlalchemy.orm.Session = None)[source]¶
Updates a given Airflow Variable with the Provided value
- Parameters
key – Variable Key
value – Value to set for the Variable
serialize_json – Serialize the value to a JSON string
session – SQL Alchemy Session
- classmethod delete(cls, key: str, session: sqlalchemy.orm.Session = None) int [source]¶
Delete an Airflow Variable for a given key
- Parameters
key – Variable Key
session – SQL Alchemy Sessions
- static check_for_write_conflict(key: str) None [source]¶
Logs a warning if a variable exists outside of the metastore.
If we try to write a variable to the metastore while the same key exists in an environment variable or custom secrets backend, then subsequent reads will not read the set value.
- Parameters
key – Variable Key