Skip to content
GitHubXDiscordRSS

DataMigration

Learn how to create, update, and manage AWS DMS DataMigrations using Alchemy Cloud Control.

The DataMigration resource allows you to manage AWS DMS DataMigrations for migrating data between different database engines and ensuring minimal downtime.

Create a basic data migration with required properties and one optional setting.

import AWS from "alchemy/aws/control";
const basicDataMigration = await AWS.DMS.DataMigration("basicMigration", {
DataMigrationType: "full-load",
MigrationProjectIdentifier: "myMigrationProject",
ServiceAccessRoleArn: "arn:aws:iam::123456789012:role/myDMSRole",
DataMigrationName: "MyFirstDataMigration"
});

Configure a data migration with additional settings for source data and tags.

const advancedDataMigration = await AWS.DMS.DataMigration("advancedMigration", {
DataMigrationType: "cdc",
MigrationProjectIdentifier: "myAdvancedMigrationProject",
ServiceAccessRoleArn: "arn:aws:iam::123456789012:role/myDMSRole",
SourceDataSettings: [
{
SourceType: "mysql",
EndpointArn: "arn:aws:dms:us-west-2:123456789012:endpoint:example-endpoint",
DatabaseName: "source_database"
}
],
Tags: [
{
Key: "Environment",
Value: "Production"
},
{
Key: "Project",
Value: "Migration"
}
]
});

Create a data migration while adopting existing resources if they already exist.

const adoptExistingDataMigration = await AWS.DMS.DataMigration("adoptMigration", {
DataMigrationType: "full-load",
MigrationProjectIdentifier: "adoptMigrationProject",
ServiceAccessRoleArn: "arn:aws:iam::123456789012:role/myDMSRole",
DataMigrationName: "AdoptedMigration",
adopt: true
});

Set up a data migration with detailed settings for error handling.

const errorHandlingMigration = await AWS.DMS.DataMigration("errorHandlingMigration", {
DataMigrationType: "full-load-and-cdc",
MigrationProjectIdentifier: "errorHandlingProject",
ServiceAccessRoleArn: "arn:aws:iam::123456789012:role/myDMSRole",
DataMigrationSettings: {
TargetMetadata: {
TargetSchema: "target_schema",
SupportLobs: true,
FullLoadSettings: {
TargetTablePrep: "DROP_AND_CREATE"
}
},
ErrorHandling: {
ErrorBehavior: "LOG",
MaxErrors: 10
}
}
});