Workflow
Source:
src/AWS/MWAAServerless/Workflow.ts
An Amazon Managed Workflows for Apache Airflow Serverless workflow — a serverless Airflow DAG defined by a YAML file in S3 and executed by AWS-managed, multi-tenant Airflow infrastructure without provisioning an environment.
Each update to the definition or configuration creates a new workflow version; MWAA Serverless keeps only the latest version actively scheduled.
Creating a Workflow
Section titled “Creating a Workflow”Basic Workflow
import * as MWAAServerless from "alchemy/AWS/MWAAServerless";import * as IAM from "alchemy/AWS/IAM";
const role = yield* IAM.Role("WorkflowRole", { assumeRolePolicyDocument: { Version: "2012-10-17", Statement: [{ Effect: "Allow", Principal: { Service: "airflow-serverless.amazonaws.com" }, Action: ["sts:AssumeRole"], }], },});
const workflow = yield* MWAAServerless.Workflow("Etl", { definitionS3Location: { bucket: "my-dag-bucket", objectKey: "workflows/etl.yaml", }, roleArn: role.roleArn,});Workflow with Logging and Tags
const workflow = yield* MWAAServerless.Workflow("Etl", { definitionS3Location: { bucket: "my-dag-bucket", objectKey: "workflows/etl.yaml", }, roleArn: role.roleArn, description: "nightly ETL", loggingConfiguration: { logGroupName: "/mwaa-serverless/etl" }, tags: { team: "data" },});