GitHub user tobadarichard created a discussion: Default connection used by 
aws-provider SystemsManagerParameterStoreBackend

Hello,

I'm using airflow 3.1.3 and apache-airflow-providers-amazon 9.17.0
I'm currently trying to use AWS SSM Parameter Store Secrets as a backend to 
retrieve secrets but it doesn't seem to use the correct settings to establish 
the connection. 

The [secrets] section of my airflow.cfg is : 

backend = 
airflow.providers.amazon.aws.secrets.systems_manager.SystemsManagerParameterStoreBackend
backend_kwargs = {"connections_prefix": 
"/airflow/connections","variables_prefix ": 
"/airflow/variables","config_prefix": "/airflow/config"}

I also defined an aws connection with the id 'aws_default' and the type 'aws' 
through the airflow UI.

>From the documentation of the [aws 
>provider](https://airflow.apache.org/docs/apache-airflow-providers-amazon/stable/connections/aws.html#default-connection-ids),
> the default connection name is 'aws_default' but looking at my logs, it seems 
>that SystemsManagerParameterStoreBackend is using a connection named 
>'SystemsManagerParameterStoreBackend__connection' :


[2025-11-26 21:12:24] DEBUG - Calling 'on_starting' with {'component': 
<airflow.sdk.execution_time.task_runner.TaskRunnerMarker object at 
0x7a3e8ed6bd90>} source=airflow.listeners.listener loc=listener.py:37
[2025-11-26 21:12:24] DEBUG - Hook impls: [] source=airflow.listeners.listener 
loc=listener.py:38
[2025-11-26 21:12:24] DEBUG - Result from 'on_starting': [] 
source=airflow.listeners.listener loc=listener.py:42
[2025-11-26 21:12:24] INFO - DAG bundles loaded: dags-folder 
source=airflow.dag_processing.bundles.manager.DagBundlesManager 
loc=manager.py:179
[2025-11-26 21:12:24] INFO - Filling up the DagBag from 
/home/richard/Documents/airflow_usage/dags/dags_airflow_hitlop.py 
source=airflow.models.dagbag.DagBag loc=dagbag.py:593
[2025-11-26 21:12:24] DEBUG - Importing 
/home/richard/Documents/airflow_usage/dags/dags_airflow_hitlop.py 
source=airflow.models.dagbag.DagBag loc=dagbag.py:391
[2025-11-26 21:12:24] DEBUG - Initializing Providers Manager[hooks] 
source=airflow.providers_manager loc=providers_manager.py:353
[2025-11-26 21:12:24] DEBUG - Initialization of Providers Manager[hooks] took 
0.00 seconds source=airflow.providers_manager loc=providers_manager.py:356
[2025-11-26 21:12:24] DEBUG - Initializing Providers 
Manager[hook_lineage_writers] source=airflow.providers_manager 
loc=providers_manager.py:353
[2025-11-26 21:12:24] DEBUG - Initializing Providers 
Manager[taskflow_decorators] source=airflow.providers_manager 
loc=providers_manager.py:353
[2025-11-26 21:12:24] DEBUG - Initialization of Providers 
Manager[taskflow_decorators] took 0.00 seconds source=airflow.providers_manager 
loc=providers_manager.py:356
[2025-11-26 21:12:24] DEBUG - Initialization of Providers 
Manager[hook_lineage_writers] took 0.00 seconds 
source=airflow.providers_manager loc=providers_manager.py:356
[2025-11-26 21:12:24] WARNING - The `airflow.hooks.base.BaseHook` attribute is 
deprecated. Please use `'airflow.sdk.bases.hook.BaseHook'`. 
category=DeprecatedImportWarning source=py.warnings 
loc=/home/richard/Documents/airflow_usage/dags/dags_airflow_hitlop.py:13
[2025-11-26 21:12:24] DEBUG - Loaded DAG <DAG: example_hitl_operator> 
source=airflow.models.dagbag.DagBag loc=dagbag.py:568
[2025-11-26 21:12:24] DEBUG - Dag file parsed file=dags_airflow_hitlop.py 
source=task loc=task_runner.py:737
[2025-11-26 21:12:24] DEBUG - Plugins are already loaded. Skipping. 
source=airflow.plugins_manager loc=plugins_manager.py:345
[2025-11-26 21:12:24] DEBUG - Integrate Macros plugins 
source=airflow.plugins_manager loc=plugins_manager.py:597
[2025-11-26 21:12:24] DEBUG - Calling 'on_task_instance_running' with 
{'previous_state': <TaskInstanceState.QUEUED: 'queued'>, 'task_instance': 
RuntimeTaskInstance(id=UUID('019ac315-249a-73bf-9f29-596253803bc7'), 
task_id='print_vars', dag_id='example_hitl_operator', 
run_id='manual__2025-11-27T02:12:12+00:00', try_number=1, 
dag_version_id=UUID('019ab91a-0670-777a-b28c-60f63fe1b513'), map_index=-1, 
hostname='default-pc', context_carrier={}, 
task=<Task(_PythonDecoratedOperator): print_vars>, 
bundle_instance=LocalDagBundle(name=dags-folder), max_tries=0, 
start_date=datetime.datetime(2025, 11, 27, 2, 12, 15, 379781, 
tzinfo=datetime.timezone.utc), end_date=None, state=<TaskInstanceState.RUNNING: 
'running'>, is_mapped=False, rendered_map_index=None)} 
source=airflow.listeners.listener loc=listener.py:37
[2025-11-26 21:12:24] DEBUG - Hook impls: [] source=airflow.listeners.listener 
loc=listener.py:38
[2025-11-26 21:12:24] DEBUG - Result from 'on_task_instance_running': [] 
source=airflow.listeners.listener loc=listener.py:42
**[2025-11-26 21:12:25] DEBUG - Missing endpoint_url in extra config of AWS 
Connection with id SystemsManagerParameterStoreBackend__connection. Using 
default AWS service endpoint 
source=airflow.providers.amazon.aws.utils.connection_wrapper.AwsConnectionWrapper
 loc=connection_wrapper.py:249
[2025-11-26 21:12:27] DEBUG - Missing endpoint_url in extra config of AWS 
Connection with id SystemsManagerParameterStoreBackend__connection. Using 
default AWS service endpoint 
source=airflow.providers.amazon.aws.utils.connection_wrapper.AwsConnectionWrapper
 loc=connection_wrapper.py:249
[2025-11-26 21:12:29] DEBUG - Unable to retrieve connection from secrets 
backend (SystemsManagerParameterStoreBackend). Checking subsequent secrets 
backend. source=task loc=context.py:165**


---

I tried to look at the source code of the provider and I have not found a way 
to change the connection used by the backend. It seems to hardcoded 
[here](https://github.com/apache/airflow/blob/95c1e3c6f2d8c1a38233cca2761df5e7034e90e2/providers/amazon/src/airflow/providers/amazon/aws/secrets/systems_manager.py#L120)

I would like to know : is there is a way to use a different connection for 
SystemsManagerParameterStoreBackend ? Or am I doing something wrong ?

GitHub link: https://github.com/apache/airflow/discussions/58747

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to