TamGB opened a new issue, #24904:
URL: https://github.com/apache/airflow/issues/24904

   ### Apache Airflow Provider(s)
   
   amazon
   
   ### Versions of Apache Airflow Providers
   
   4.00
   
   ### Apache Airflow version
   
   2.3.2 (latest released)
   
   ### Operating System
   
   Ubuntu
   
   ### Deployment
   
   Docker-Compose
   
   ### Deployment details
   
   _No response_
   
   ### What happened
   
   Using the `EcsOperator` fails with misconfiguration errors even though the 
AWS connection is setup as such:
   
   ```
   [2022-07-07, 08:00:02 UTC] {ecs.py:294} INFO - Running ECS Task - Task 
definition: XXXX - on cluster YYYY
   [2022-07-07, 08:00:02 UTC] {ecs.py:296} INFO - EcsOperator overrides: 
{'containerOverrides': [{'name': 'XXXX', 'command': ['mycommands'], 
'environment': [{'AWS_ACCESS_KEY_ID': 'XXXX', 'AWS_SECRET_ACCESS_KEY': 'ZZZZ', 
'AWS_REGION': 'us-west-2'}]}]}
   [2022-07-07, 08:00:02 UTC] {base.py:68} INFO - Using connection ID 
'aws_ecs_conn' for task execution.
   [2022-07-07, 08:00:02 UTC] {base_aws.py:206} INFO - Credentials retrieved 
from login
   [2022-07-07, 08:00:02 UTC] {base_aws.py:100} INFO - Retrieving region_name 
from Connection.extra_config['region_name']
   [2022-07-07, 08:00:02 UTC] {taskinstance.py:1889} ERROR - Task failed with 
exception
   Traceback (most recent call last):
     File 
"/home/airflow/.local/lib/python3.7/site-packages/airflow/utils/session.py", 
line 71, in wrapper
       return func(*args, session=session, **kwargs)
     File 
"/home/airflow/.local/lib/python3.7/site-packages/airflow/providers/amazon/aws/operators/ecs.py",
 line 303, in execute
       self._start_wait_check_task(context)
     File 
"/home/airflow/.local/lib/python3.7/site-packages/airflow/providers/amazon/aws/hooks/base_aws.py",
 line 582, in decorator_f
       return fun(self, *args, **kwargs)
     File 
"/home/airflow/.local/lib/python3.7/site-packages/airflow/providers/amazon/aws/operators/ecs.py",
 line 321, in _start_wait_check_task
       self._start_task(context)
     File 
"/home/airflow/.local/lib/python3.7/site-packages/airflow/providers/amazon/aws/operators/ecs.py",
 line 369, in _start_task
       response = self.client.run_task(**run_opts)
     File 
"/home/airflow/.local/lib/python3.7/site-packages/botocore/client.py", line 
508, in _api_call
       return self._make_api_call(operation_name, kwargs)
     File 
"/home/airflow/.local/lib/python3.7/site-packages/botocore/client.py", line 
875, in _make_api_call
       api_params, operation_model, context=request_context
     File 
"/home/airflow/.local/lib/python3.7/site-packages/botocore/client.py", line 
936, in _convert_to_request_dict
       api_params, operation_model
     File 
"/home/airflow/.local/lib/python3.7/site-packages/botocore/validate.py", line 
381, in serialize_to_request
       raise ParamValidationError(report=report.generate_report())
   botocore.exceptions.ParamValidationError: Parameter validation failed:
   Unknown parameter in overrides.containerOverrides[0].environment[0]: 
"AWS_ACCESS_KEY_ID", must be one of: name, value
   Unknown parameter in overrides.containerOverrides[0].environment[0]: 
"AWS_SECRET_ACCESS_KEY", must be one of: name, value
   Unknown parameter in overrides.containerOverrides[0].environment[0]: 
"AWS_REGION", must be one of: name, value
   [2022-07-07, 08:00:02 UTC] {taskinstance.py:1400} INFO - Marking task as 
UP_FOR_RETRY. dag_id=ecs_dag, task_id=a_task, execution_date=20220706T080000, 
start_date=20220707T080001, end_date=20220707T080002
   ```
   
   ### What you think should happen instead
   
   The task should not fail.
   
   ### How to reproduce
   
   Setup an `Amazon Web Service` connection and setup an ECSOperator Task:
   
   ```
   ope = EcsOperator(
           task_id=f'docker_{test}',
           cluster=cluster_name,
           task_definition=task_definition_name,
           launch_type="EXTERNAL|FARGATE",
           aws_conn_id="aws_ecs",
           overrides={
               "containerOverrides": [
                   {
                       "name": "XXXX,
                       "command": ["mycommand"],
                       "environment": [
                           {
                               'AWS_ACCESS_KEY_ID': *****,
                               'AWS_SECRET_ACCESS_KEY': ****,
                               'AWS_REGION': *****,
                           },
                       ],
                   },
               ],
           },
           tags={
               "Project": "Test",
           },
           awslogs_group="/ecs/hello-world",
           awslogs_region=s3_logs_region,
           awslogs_stream_prefix="ecs/hello-world-container"
       )
   ```
   
   
   ### Anything else
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [X] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to