Amazon MWAA Serverless (Managed Workflows)¶
Amazon MWAA Serverless provides a serverless execution environment for Apache Airflow workflows. Use the operators below to manage MWAA Serverless workflow runs.
Create a Workflow¶
To create an Amazon MWAA Serverless workflow, use
MwaaServerlessCreateWorkflowOperator.
create_workflow = MwaaServerlessCreateWorkflowOperator(
task_id="create_workflow",
workflow_name=bucket_name,
definition_s3_location={"Bucket": bucket_name, "ObjectKey": "workflow.yaml"},
role_arn=role_arn,
)
Start a Workflow Run¶
To start a new execution of an MWAA Serverless workflow, use
MwaaServerlessStartWorkflowRunOperator.
start_workflow = MwaaServerlessStartWorkflowRunOperator(
task_id="start_workflow",
workflow_arn=workflow_arn,
)
Reference¶
Wait for a Workflow Run¶
To wait for an Amazon MWAA Serverless workflow run to complete, use
MwaaServerlessWorkflowRunSensor.
wait_for_run = MwaaServerlessWorkflowRunSensor(
task_id="wait_for_run",
workflow_arn=workflow_arn,
run_id=start_workflow.output,
poke_interval=30,
timeout=600,
)
Update a Workflow¶
To update an existing Amazon MWAA Serverless workflow, use
MwaaServerlessUpdateWorkflowOperator.
update_workflow = MwaaServerlessUpdateWorkflowOperator(
task_id="update_workflow",
workflow_arn=workflow_arn,
definition_s3_location={"Bucket": bucket_name, "ObjectKey": "workflow.yaml"},
role_arn=role_arn,
description="Updated system test workflow",
)
Stop a Workflow Run¶
To stop a running Amazon MWAA Serverless workflow run, use
MwaaServerlessStopWorkflowRunOperator.
stop_workflow_run = MwaaServerlessStopWorkflowRunOperator(
task_id="stop_workflow_run",
workflow_arn=workflow_arn,
run_id=start_workflow_2.output,
)
Delete a Workflow¶
To delete an Amazon MWAA Serverless workflow, use
MwaaServerlessDeleteWorkflowOperator.
delete_workflow = MwaaServerlessDeleteWorkflowOperator(
task_id="delete_workflow",
workflow_arn=workflow_arn,
trigger_rule=TriggerRule.ALL_DONE,
)