AWS DMS同步S3源CSV到Aurora MySQL报invalid utf8mb4字符错误咨询
可行解决方案
以下方案按优先级从高到低尝试即可:
方案1:配置S3源端点编码属性
打开DMS控制台的S3源端点配置,在*额外连接属性(Extra connection attributes)*中添加如下配置,强制DMS按latin1字符集解析源CSV文件:encoding=latin1方案2:配置Aurora MySQL目标端点会话参数
如果方案1未生效,可在目标Aurora MySQL端点的额外连接属性中添加初始会话执行语句,指定DMS和目标库交互时的字符集:initstmt=SET NAMES latin1;SET character_set_database=latin1;方案3:添加DMS迁移任务的字符集转换规则
在迁移任务的表映射配置中,新增全局转换规则,强制所有字符串类型列按latin1字符集处理后写入目标库,规则参考示例:{ "rule-type": "transformation", "rule-id": "1", "rule-name": "charset-conv", "object-locator": { "schema-name": "你的目标库名", "table-name": "%", "column-name": "%" }, "rule-action": "change-data-type", "data-type": { "type": "string", "length": "对应列实际长度", "charset": "latin1" } }方案4:预转换源文件编码
若以上方案均不满足需求,可通过S3批量操作或Lambda函数,将S3桶内的CSV文件批量从latin1转码为utf-8格式后,再执行DMS同步任务。
内容的提问来源于stack exchange,提问作者Div
相关产品推荐
相关产品推荐

