airflow.contrib.secrets.aws_secrets_manager
¶
Objects relating to sourcing secrets from AWS Secrets Manager
Module Contents¶
-
class
airflow.contrib.secrets.aws_secrets_manager.
SecretsManagerBackend
(connections_prefix='airflow/connections', variables_prefix='airflow/variables', config_prefix='airflow/config', profile_name=None, sep='/', **kwargs)[source]¶ Bases:
airflow.secrets.BaseSecretsBackend
,airflow.utils.log.logging_mixin.LoggingMixin
Retrieves Connection or Variables from AWS Secrets Manager
Configurable via
airflow.cfg
like so:[secrets] backend = airflow.contrib.secrets.aws_secrets_manager.SecretsManagerBackend backend_kwargs = {"connections_prefix": "airflow/connections"}
For example, if secrets prefix is
airflow/connections/smtp_default
, this would be accessible if you provide{"connections_prefix": "airflow/connections"}
and request conn_idsmtp_default
. If variables prefix isairflow/variables/hello
, this would be accessible if you provide{"variables_prefix": "airflow/variables"}
and request variable keyhello
. And if config_prefix isairflow/config/sql_alchemy_conn
, this would be accessible if you provide{"config_prefix": "airflow/config"}
and request config keysql_alchemy_conn
.You can also pass additional keyword arguments like
aws_secret_access_key
,aws_access_key_id
orregion_name
to this class and they would be passed on to Boto3 client.- Parameters
connections_prefix (str) – Specifies the prefix of the secret to read to get Connections.
variables_prefix (str) – Specifies the prefix of the secret to read to get Variables.
config_prefix (str) – Specifies the prefix of the secret to read to get Variables.
profile_name (str) – The name of a profile to use. If not given, then the default profile is used.
sep (str) – separator used to concatenate secret_prefix and secret_id. Default: “/”
-
get_variable
(self, key)[source]¶ Get Airflow Variable
- Parameters
key – Variable Key
- Returns
Variable Value