排查批量操作问题
以下主题列出了常见错误,以帮助您排除在批量操作过程中可能遇到的问题。
常见错误
存在权限问题或启用了 S3 对象锁定保留模式时,未交付作业报告
在缺少必需权限或者对目标存储桶启用了对象锁定保留模式(监管模式或合规性模式)时,会发生以下错误。
错误:失败的原因。无法将任务报告写入您的报告桶。请检查您的权限。
IAM 角色和信任策略必须配置为允许 S3 批量操作访问,以在要交付报告的存储桶中 PUT 对象。如果缺少这些必需的权限,则会出现作业报告交付失败的情况。
启用保留模式后,桶受到“一次写入,多次读取”(WORM)保护。在目标存储桶上,不支持在启用了保留模式的时进行对象锁定,因此作业完成报告交付尝试失败。要解决此问题,请为您的任务完成报告选择一个未启用对象锁定保留模式的目标桶。
S3 批量复制失败并出现错误:生成清单时未找到符合筛选条件的密钥
错误:生成清单时未找到符合筛选条件的密钥。
出现此错误的原因为以下之一:
当源存储桶中的对象存储在 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 存储类中时。
要对这些对象使用批量复制,请先在批量操作任务中使用 S3 启动还原对象操作,将它们还原到 S3 Standard 存储类。有关更多信息,请参阅恢复已归档的对象和还原对象(批量操作)。还原对象后,您可以使用批量复制任务来复制它们。
当提供的筛选条件与源存储桶中的任何有效对象都不匹配时。
验证并更正筛选条件。例如,在批量复制规则中,筛选条件是查找
example-s3-bucket
中带有Tax/
前缀的所有对象。如果前缀名称输入不准确,开头和结尾都有一个斜杠(即/Tax/
),而不是仅在结尾处有斜杠,则找不到任何 S3 对象。要解决此错误,请更正前缀,在本例中就是将复制规则中的/Tax/
更改为Tax/
。
向现有复制配置添加新的复制规则后,会出现批量操作失败
批量操作尝试对源桶的复制配置中的每条规则执行现有对象复制。如果任何现有复制规则出现问题,则可能会出现失败。
批量操作任务的完成报告解释了任务失败的原因。有关常见错误的列表,请参阅Amazon S3 复制失败原因。
对于对象的批量操作失败,错误为 400 InvalidRequest:由于缺少 VersionId,任务失败
如果批量操作任务正在对受版本控制的桶中的对象执行操作,并在清单中遇到版本 ID 字段为空的对象,则会出现以下示例错误。
错误:BUCKET_NAME,prefix/file_name
,失败,400,InvalidRequest,由于缺少 VersionId,任务失败
之所以出现此错误,是因为清单中的版本 ID 字段是空字符串,而不是文本 null
字符串。
这一特定对象或这些对象的批量操作将失败,但整个任务不会失败。如果在操作期间将清单格式配置为使用版本 ID,则会出现此问题。非版本控制的任务不会遇到此问题,因为它们仅对每个对象的最新版本进行操作,并忽略清单中的版本 ID。
要解决此问题,请将空版本 ID 转换为 null
字符串。有关更多信息,请参阅 将 Amazon S3 库存报告中的空版本 ID 字符串转换为空字符串。
在启用任务标签选项的情况下创建任务失败
如果没有 s3:PutJobTagging
权限,在启用了任务标签选项的情况下创建批量操作任务会导致 403 access denied
错误。
要在启用任务标签选项的情况下创建批量操作任务,创建批量操作任务的 Amazon Identity and Access Management(IAM)用户除 s3:CreateJob
权限外还必须具有 s3:PutJobTagging
权限。
有关批量操作所需权限的更多信息,请参阅授予 Amazon S3 分批操作的权限。
读取清单的访问被拒绝
如果您在尝试创建批量操作任务时,批量操作无法读取清单文件,则可能会出现以下错误。
Amazon CLI
禁止读取清单失败的原因:AccessDenied
Amazon S3 控制台
警告:无法获取清单对象的 ETag。指定其他对象以继续。
要解决此问题,请执行下列操作:
-
验证您用于创建批量操作任务的 Amazon Web Services 账户的 IAM 角色是否具有
s3:GetObject
权限。账户的 IAM 角色必须具有允许批量操作读取清单文件的s3:GetObject
权限。有关批量操作所需权限的更多信息,请参阅授予 Amazon S3 分批操作的权限。
-
检查清单对象的元数据中是否存在与 S3 对象所有权不匹配的访问权限。有关 S3 对象所有权的更多信息,请参阅为您的存储桶控制对象所有权和禁用 ACL。。
-
检查 Amazon Key Management Service(Amazon KMS)密钥是否用于加密清单文件。
S3 批量操作支持用 Amazon KMS 加密的 CSV 清单报告。但是,S3 批量操作不支持用 Amazon KMS 加密的 CSV 清单文件。有关更多信息,请参阅配置 Amazon S3 清单 和指定清单。