在 AWS DMS 任务中,如需在目标消息中包含数据库名称,需要在目标端点连接字符串中添加"IncludeDatabaseName=1" 参数。
例如,如果目标端点连接字符串为:jdbc:mysql://my-rds-instance:3306/my-db
则需要将其修改为:jdbc:mysql://my-rds-instance:3306/my-db?IncludeDatabaseName=1
在 AWS DMS 控制台配置任务时,也可以在目标端点设置中添加"IncludeDatabaseName=1" 参数。
具体实现可参考以下 python 示例代码:
import boto3
client = boto3.client('dms')
response = client.modify_endpoint(
EndpointArn='arn:aws:dms:region:account-id:endpoint:endpoint-id',
EndpointIdentifier='my-rds-instance',
EndpointType='target',
EngineName='aurora',
Username='username',
Password='password',
ServerName='my-rds-instance',
Port=3306,
DatabaseName='my-db',
ExtraConnectionAttributes='IncludeDatabaseName=1'
)
print(response)
需要将"IncludeDatabaseName=1" 参数添加到 ExtraConnectionAttributes 中。
注意:不同的目标端点可能会有不同的连接字符串格式,具体的格式请参考官方文档或者相关示例代码。