Configuration Reference

This page contains the list of all available Airflow configurations for the apache-airflow-providers-amazon provider that can be set in the airflow.cfg file or using environment variables.

Note

The configuration embedded in provider packages started to be used as of Airflow 2.7.0. Previously the configuration was described and configured in the Airflow core package - so if you are using Airflow below 2.7.0, look at Airflow documentation for the list of available configuration options that were available in Airflow core.

Note

For more information see Setting Configuration Options.

[aws]

This section contains settings for Amazon Web Services (AWS) integration.

cloudwatch_task_handler_json_serializer

Added in version 8.7.2.

By default, when logging non-string messages, all non-json objects are logged as null. Except datetime objects which are ISO formatted. Users can optionally use a repr serializer or provide their own JSON serializer for any non-JSON-serializable objects in the logged message.

  • airflow.providers.amazon.aws.log.cloudwatch_task_handler.json_serialize uses repr (be aware there is the potential of logging sensitive data depending on the repr method of logged objects)

  • airflow.providers.amazon.aws.log.cloudwatch_task_handler.json_serialize_legacy uses null.

If a custom serializer is provided, it must adhere to Callable[[Any], str | None], where None serializes to null (e.g. def my_serializer(o: Any) -> str | None). Since this is on the logging path and it’s possible there’s an exception being handled, special care should be taken to fail gracefully without raising a new exception inside of your serializer.

Type:

string

Default:

airflow.providers.amazon.aws.log.cloudwatch_task_handler.json_serialize_legacy

Environment Variable:

AIRFLOW__AWS__CLOUDWATCH_TASK_HANDLER_JSON_SERIALIZER

Example:

airflow.providers.amazon.aws.log.cloudwatch_task_handler.json_serialize

session_factory

Added in version 3.1.1.

Full import path to the class which implements a custom session factory for boto3.session.Session. For more details please have a look at Session Factory.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS__SESSION_FACTORY

Example:

my_company.aws.MyCustomSessionFactory

[aws_auth_manager]

This section only applies if you are using the AwsAuthManager. In other words, if you set [core] auth_manager = airflow.providers.amazon.aws.auth_manager.aws_auth_manager.AwsAuthManager in Airflow’s configuration.

avp_policy_store_id

Added in version 8.12.0.

Amazon Verified Permissions’ policy store ID where all the policies defining user permissions in Airflow are stored. Required.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_AUTH_MANAGER__AVP_POLICY_STORE_ID

conn_id

Added in version 8.12.0.

The Airflow connection (i.e. credentials) used by the AWS auth manager to make API calls to AWS Identity Center and Amazon Verified Permissions.

Type:

string

Default:

aws_default

Environment Variable:

AIRFLOW__AWS_AUTH_MANAGER__CONN_ID

Example:

aws_default

enable

Added in version 8.12.0.

AWS auth manager is not ready to be used. Turn on this flag to use it anyway. Do that at your own risk since the AWS auth manager is not in an usable state.

Type:

boolean

Default:

False

Environment Variable:

AIRFLOW__AWS_AUTH_MANAGER__ENABLE

Example:

True

region_name

Added in version 8.10.

The name of the AWS Region where Amazon Verified Permissions is configured. Required.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_AUTH_MANAGER__REGION_NAME

Example:

us-east-1

saml_metadata_url

Added in version 8.12.0.

SAML metadata XML file provided by AWS Identity Center. This URL can be found in the AWS Identity Center console. Required.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_AUTH_MANAGER__SAML_METADATA_URL

Example:

https://portal.sso.<region>.amazonaws.com/saml/metadata/XXXXXXXXXX

[aws_batch_executor]

This section only applies if you are using the AwsBatchExecutor in Airflow’s [core] configuration. For more information on any of these execution parameters, see the link below: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/batch.html#Batch.Client.submit_job For boto3 credential management, see https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html

check_health_on_startup

Added in version 8.11.

Whether or not to check the Batch Executor health on startup.

Type:

boolean

Default:

True

Environment Variable:

AIRFLOW__AWS_BATCH_EXECUTOR__CHECK_HEALTH_ON_STARTUP

Example:

True

conn_id

Added in version 8.11.

The Airflow connection (i.e. credentials) used by the Batch executor to make API calls to AWS Batch.

Type:

string

Default:

aws_default

Environment Variable:

AIRFLOW__AWS_BATCH_EXECUTOR__CONN_ID

Example:

aws_default

job_definition

Added in version 8.11.

The job definition used by the job. You can specify either the name or the Amazon Resource Name (ARN) of the job definition with or without the revision. If the revision is not specified, then the latest active revision is used.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_BATCH_EXECUTOR__JOB_DEFINITION

Example:

airflow-batch-executor-job-definition

job_name

Added in version 8.11.

The name of the job submitted to AWS Batch. It can be up to 128 letters long. The first character must be alphanumeric, can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_BATCH_EXECUTOR__JOB_NAME

Example:

airflow-batch-executor-job

job_queue

Added in version 8.11.

The job queue where the job is submitted. You can specify either the name or the Amazon Resource Name (ARN) of the queue.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_BATCH_EXECUTOR__JOB_QUEUE

Example:

airflow-batch-executor-job-queue

max_submit_job_attempts

Added in version 8.11.

The maximum number of times the Batch Executor should attempt to run a Batch Job.

Type:

integer

Default:

3

Environment Variable:

AIRFLOW__AWS_BATCH_EXECUTOR__MAX_SUBMIT_JOB_ATTEMPTS

Example:

3

region_name

Added in version 8.11.

The name of the AWS Region where Amazon Batch is configured. Required.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_BATCH_EXECUTOR__REGION_NAME

Example:

us-east-1

submit_job_kwargs

Added in version 8.11.

Additional parameters to pass to the submit_job method of the AWS Batch client.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_BATCH_EXECUTOR__SUBMIT_JOB_KWARGS

Example:

{"Tags": [{"Key": "key", "Value": "value"}]}

[aws_ecs_executor]

This section only applies if you are using the AwsEcsExecutor in Airflow’s [core] configuration. For more information on any of these execution parameters, see the link below: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs/client/run_task.html For boto3 credential management, see https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html

assign_public_ip

Added in version 8.10.

Whether to assign a public IP address to the containers launched by the ECS executor. For more info see url to Boto3 docs above.

Type:

boolean

Default:

False

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__ASSIGN_PUBLIC_IP

Example:

True

capacity_provider_strategy

Added in version 8.17.

The capacity provider strategy to use for the task.

If a Capacity Provider Strategy is specified, the Launch Type parameter must be omitted. If no Capacity Provider Strategy or Launch Type is specified, the Default CapacityProvider Strategy for the cluster is used, if present.

When you use cluster auto scaling, you must specify Capacity Provider Strategy and not Launch Type.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__CAPACITY_PROVIDER_STRATEGY

Example:

[{'capacityProvider': 'cp1', 'weight': 5}, {'capacityProvider': 'cp2', 'weight': 1}]

check_health_on_startup

Added in version 8.11.

Whether or not to check the ECS Executor health on startup.

Type:

boolean

Default:

True

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__CHECK_HEALTH_ON_STARTUP

Example:

True

cluster

Added in version 8.10.

Name of the Amazon ECS Cluster. Required.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__CLUSTER

Example:

ecs_executor_cluster

conn_id

Added in version 8.10.

The Airflow connection (i.e. credentials) used by the ECS executor to make API calls to AWS ECS.

Type:

string

Default:

aws_default

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__CONN_ID

Example:

aws_default

container_name

Added in version 8.10.

Name of the container that will be used to execute Airflow tasks via the ECS executor. The container should be specified in the ECS Task Definition and will receive an airflow CLI command as an additional parameter to its entrypoint. For more info see url to Boto3 docs above. Required.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__CONTAINER_NAME

Example:

ecs_executor_container

launch_type

Added in version 8.10.

Launch type can either be ‘FARGATE’ OR ‘EC2’. For more info see url to Boto3 docs above.

If a Launch Type is specified, the Capacity Provider Strategy parameter must be omitted. If no Capacity Provider Strategy or Launch Type is specified, the Default Capacity Provider Strategy for the cluster is used, if present.

If the launch type is EC2, the executor will attempt to place tasks on empty EC2 instances. If there are no EC2 instances available, no task is placed and this function will be called again in the next heart-beat.

If the launch type is FARGATE, this will run the tasks on new AWS Fargate instances.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__LAUNCH_TYPE

Example:

FARGATE

max_run_task_attempts

Added in version 8.10.

The maximum number of times the ECS Executor should attempt to run a task.

Type:

integer

Default:

3

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__MAX_RUN_TASK_ATTEMPTS

Example:

3

platform_version

Added in version 8.10.

The platform version the task uses. A platform version is only specified for tasks hosted on Fargate. If one isn’t specified, the LATEST platform version is used.

Type:

string

Default:

LATEST

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__PLATFORM_VERSION

Example:

1.4.0

region_name

Added in version 8.10.

The name of the AWS Region where Amazon ECS is configured. Required.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__REGION_NAME

Example:

us-east-1

run_task_kwargs

Added in version 8.10.

A JSON string containing arguments to provide the ECS run_task API (see url above).

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__RUN_TASK_KWARGS

Example:

{"tags": {"key": "schema", "value": "1.0"}}

security_groups

Added in version 8.10.

The comma-separated IDs of the security groups associated with the task. If you don’t specify a security group, the default security group for the VPC is used. There’s a limit of 5 security groups. For more info see url to Boto3 docs above.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__SECURITY_GROUPS

Example:

sg-XXXX,sg-YYYY

subnets

Added in version 8.10.

The comma-separated IDs of the subnets associated with the task or service. There’s a limit of 16 subnets. For more info see url to Boto3 docs above.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__SUBNETS

Example:

subnet-XXXXXXXX,subnet-YYYYYYYY

task_definition

Added in version 8.10.

The family and revision (family:revision) or full ARN of the task definition to run. If a revision isn’t specified, the latest ACTIVE revision is used. For more info see url to Boto3 docs above.

Type:

string

Default:

None

Environment Variable:

AIRFLOW__AWS_ECS_EXECUTOR__TASK_DEFINITION

Example:

executor_task_definition:LATEST

Was this entry helpful?