Amazon web services 使用AWS CDK创建AWS DMS任务

Amazon web services 使用AWS CDK创建AWS DMS任务,amazon-web-services,aws-cdk,aws-dms,Amazon Web Services,Aws Cdk,Aws Dms,我正在尝试使用AWS CDK创建AWS DMS任务。但我不知道从哪里开始。我找不到关于如何使用CDK创建DMS任务的好文档。我找到了关于这两个主题的文章,但找不到一篇能说明这一点的文章——讨论如何使用CDK创建DMS任务 有人能给我指出解释这一点或帮助我做这件事的正确文章吗 我已经用dms maven依赖项初始化了这个项目。我正在使用JAVA 谢谢没有CDK构造来简化DMS的使用。因此,您必须使用:CfnEndpoint、CfnReplicationTask等 我将提供以下示例来帮助您入门,但请

我正在尝试使用AWS CDK创建AWS DMS任务。但我不知道从哪里开始。我找不到关于如何使用CDK创建DMS任务的好文档。我找到了关于这两个主题的文章,但找不到一篇能说明这一点的文章——讨论如何使用CDK创建DMS任务

有人能给我指出解释这一点或帮助我做这件事的正确文章吗

我已经用dms maven依赖项初始化了这个项目。我正在使用JAVA


谢谢

没有CDK构造来简化DMS的使用。因此,您必须使用:CfnEndpoint、CfnReplicationTask等

我将提供以下示例来帮助您入门,但请注意,DMS CloudFormation资源非常具有挑战性

从'@aws cdk/core'导入*作为cdk;
从“@aws cdk/aws dms”导入*作为dms;
导出类DMSTACK扩展了cdk.Stack{
构造函数(作用域:cdk.Construct,id:string,props?:cdk.StackProps){
超级(范围、id、道具);
//创建允许DMS访问您的数据的子网组
const subnet=new dms.cfn复制子网组(此“子网组”{
replicationSubnetGroupIdentifier:'cdk subnetgroup',
replicationSubnetGroupDescription:“可以访问我的数据源和目标的子网。”,
子网:['子网-123','子网-456'],
});
//启动子网组中的实例
const instance=new dms.CfnReplicationInstance(此“实例”{
replicationInstanceIdentifier:'cdk实例',
//使用适当的实例类:https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Types.html
replicationInstanceClass:'dms.t2.small',
//设置网络
replicationSubnetGroupIdentifier:subnet.replicationSubnetGroupIdentifier,
VPCSecurityGroupId:['sg-123'],
});
//为数据创建端点,请参见https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html
const source=new dms.CfnEndpoint(此“源”{
endpointIdentifier:“cdk源”,
endpointType:'源',
engineName:'mysql',
serverName:'source.database.com',
港口:3306,
databaseName:'数据库',
用户名:“dms用户”,
密码:“密码来自机密”,
});
const target=new dms.CfnEndpoint(该“目标”{
endpointIdentifier:“cdk目标”,
endpointType:'目标',
engineName:'s3',
S3设置:{
bucketName:'目标桶'
},
});
//定义复制任务
const task=new dms.cfn复制任务(此“任务”{
replicationInstanceArn:instance.ref,
migrationType:'满载',//https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms replicationtask迁移类型
sourceEndpointArn:source.ref,
targetEndpointArn:target.ref,
tableMappings:JSON.stringify({
“规则”:[{
“规则类型”:“选择”,
“规则id”:“1”,
“规则名称”:“1”,
“对象定位器”:{
“架构名称”:“%”,
“表名”:“%”
},
“规则操作”:“包括”
}]
})
})
}
}

谢谢@Laurens Knoli。这确实让我开始了。我现在可以看一下文档了。我可以用标识符代替ARN吗。例如,replicationInstanceIdentifier,而不是replicationInstanceArn?我还可以使用sourceEndpointIdentifier值作为sourceEndpointArn的值吗?我不这么认为。-资源明确提到了ARN。。请注意,CDK通常处理到云信息的转换。然而,对于Cfn构造,您需要自己完成这项工作。。因此,让我们希望我们可以使用CDK构造来简化DMS-resources的创建。明白了。谢谢@Laurens Knoll