Пример конфигурации ECSOperator для запуска Fargate на версии Airflow - v1.10.3
def get_ecs_operator_args(param):
return dict(
launch_type="FARGATE",
# The name of your task as defined in ECS
task_definition="my_automation_task",
# The name of your ECS cluster
cluster="my-cluster",
network_configuration={
'awsvpcConfiguration': {
'securityGroups': ['sg-hijk', 'sg-abcd'],
'subnets': ['subnet-lmn'],
'assignPublicIp': "ENABLED"
}
},
overrides = {
'containerOverrides': [
{
'name': "my-container",
'command': ["python", "myCode.py",
str(param)]
}
]
},
region_name="us-east-1")
ecs_args = get_ecs_operator_args("{{ dag_run.conf['name'] }}")
my_operator = ECSOperator( task_id= "task_0",**ecs_args, dag=dag)