Skip to content
GitHubXDiscord

Workflow

The Workflow resource lets you manage AWS Glue Workflows for orchestrating complex ETL (Extract, Transform, Load) processes.

Create a basic AWS Glue Workflow with a name and description:

import AWS from "alchemy/aws/control";
const basicWorkflow = await AWS.Glue.Workflow("basicWorkflow", {
name: "DataProcessingWorkflow",
description: "A workflow for processing data from various sources.",
maxConcurrentRuns: 2
});

Configure an AWS Glue Workflow with additional properties like default run properties and tags:

const advancedWorkflow = await AWS.Glue.Workflow("advancedWorkflow", {
name: "AdvancedDataWorkflow",
description: "An advanced workflow with custom properties.",
defaultRunProperties: {
"key1": "value1",
"key2": "value2"
},
tags: {
"Environment": "Production",
"Team": "DataScience"
},
maxConcurrentRuns: 5
});

Create a workflow that adopts an existing resource instead of failing if it already exists:

const adoptedWorkflow = await AWS.Glue.Workflow("adoptedWorkflow", {
name: "ExistingWorkflow",
description: "This workflow adopts an existing Glue Workflow.",
adopt: true
});

Set up a workflow that utilizes detailed run properties for customized execution:

const detailedRunPropertiesWorkflow = await AWS.Glue.Workflow("detailedRunPropertiesWorkflow", {
name: "DetailedRunPropertiesWorkflow",
description: "Workflow with specific run properties.",
defaultRunProperties: {
"source": "S3Bucket",
"format": "CSV"
},
maxConcurrentRuns: 3
});