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 -- Dict key for this Variable
default -- 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, default_var=__NO_DEFAULT_SENTINEL, deserialize_json=False)[source]¶
Gets a value for an Airflow Variable Key
- classmethod set(cls, key, value, description=None, serialize_json=False, session=None)[source]¶
Sets a value for an Airflow Variable with a given Key. This operation will overwrite an existing variable.
- Parameters
key (str) -- Variable Key
value (Any) -- Value to set for the Variable
description (Optional[str]) -- Description of the Variable
serialize_json (bool) -- Serialize the value to a JSON string
session (sqlalchemy.orm.Session) -- SQL Alchemy Sessions
- classmethod update(cls, key, value, serialize_json=False, session=None)[source]¶
Updates a given Airflow Variable with the Provided value
- Parameters
key (str) -- Variable Key
value (Any) -- Value to set for the Variable
serialize_json (bool) -- Serialize the value to a JSON string
session (sqlalchemy.orm.Session) -- SQL Alchemy Session
- classmethod delete(cls, key, session=None)[source]¶
Delete an Airflow Variable for a given key
- Parameters
key (str) -- Variable Key
session (sqlalchemy.orm.Session) -- SQL Alchemy Sessions
- static check_for_write_conflict(key)[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 (str) -- Variable Key