DataMigration
The DataMigration resource allows you to manage AWS DMS DataMigrations for migrating data between different database engines and ensuring minimal downtime.
Minimal Example
Section titled “Minimal Example”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"});
Advanced Configuration
Section titled “Advanced Configuration”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" } ]});
Using Existing Resources
Section titled “Using Existing Resources”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});
Error Handling Example
Section titled “Error Handling Example”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 } }});