如何创建Amazon S3批量操作任务迁移大文件并解决Invalid job operation报错
问题修复方案
1. 核心报错原因:S3PutObjectCopy 参数配置错误
你当前的TargetResource配置不符合规范,该字段仅支持填写目标桶的ARN,不能追加路径前缀,前缀需要单独放在TargetKeyPrefix参数中,这是触发Invalid job operation错误的直接原因。
修正后的Operation配置如下:
"Operation": { "S3PutObjectCopy": { "TargetResource": "arn:aws:s3:::amsp-media-bucket", "TargetKeyPrefix": "bigtest/" } }
注意TargetKeyPrefix末尾建议加斜杠,避免拷贝后的对象名出现前缀拼接异常。
2. Manifest配置检查
Spec字段合规性
你当前的Spec定义完全符合官方要求:
- 格式
S3BatchOperations_CSV_20180820是官方指定的标准CSV格式枚举值 Fields设置为['Bucket', 'Key']和你CSV的列顺序完全匹配,这部分配置没有问题
Manifest文件隐藏问题
你提供的CSV内容中逗号后存在多余空格:
amsp-media-bucket, temp/37766a92-16ef-4ee2-8e79-3875679dad85.mkv
该空格会被S3 Batch Operations识别为对象Key的开头,导致找不到源文件,需要删除逗号后的空格,修正为:
amsp-media-bucket,temp/37766a92-16ef-4ee2-8e79-3875679dad85.mkv
3. 补充校验项
如果修改后仍有异常,优先排查两个配置:
- 任务关联的IAM角色需要同时具备源S3对象读权限、目标路径写权限,以及
s3:CreateJob接口调用权限 - 确保你传入的Manifest文件ETag和S3控制台中该对象显示的ETag完全一致,不要携带多余的引号
内容的提问来源于stack exchange,提问作者Nacho Gonzalez Ampudia
相关产品推荐
相关产品推荐

