运行DMS任务时出现"Failed to upload file"错误求助
错误信息
错误 - "无法将文件 '/rdsdbdata/data/tasks/FIIXC322HNNOONDMJ47ZUVYIQPB2KMR7LOFQKFA/cloud/41/LOAD00000001.gzip' 上传到存储桶 'dms-zcajgkjte5t4err3ijcfq5colwj27lwfjyreywq',目标路径为 'redshift-LW75HFVWQABDNQH4FNEWVIADLHQOPAWSOG7CVKY/FIIXC322HNNOONDMJ47ZUVYIQPB2KMR7LOFQKFA/41/LOAD00000001.csv',状态码 = 4(失败)[1001705] (transfer_client.cpp:514)"
排查方向及修复方案
S3存储桶权限验证
检查DMS关联的IAM角色是否拥有目标S3桶的s3:PutObject、s3:ListBucket权限,同时确认角色信任策略允许dms.amazonaws.com服务扮演该角色,存储桶策略未拒绝该角色的上传操作。存储桶及路径正确性检查
确认日志中的S3桶dms-zcajgkjte5t4err3ijcfq5colwj27lwfjyreywq真实存在,目标路径无拼写错误,且存储桶区域与DMS任务所在区域一致。源文件访问权限排查
若使用自定义EC2实例运行DMS任务,需确认实例对源文件/rdsdbdata/data/tasks/.../LOAD00000001.gzip拥有读取权限,文件本身存在且未损坏。网络连通性验证
检查DMS任务所在VPC的安全组、网络ACL是否允许出站访问S3服务;若使用S3 VPC端点,需确认端点配置正确,安全组规则允许相关流量。DMS任务配置复查
核对Redshift目标端点的S3存储设置,确保指定的存储桶正确;检查任务迁移配置中,数据压缩格式、文件命名规则等参数无冲突。
内容的提问来源于stack exchange,提问作者Sumant Kumar

