首页 > 解决方案 > 在 S3 存储桶之间复制时抛出“AllAccessDisabled:对此对象的所有访问权限已被禁用”错误

问题描述

我收到此错误:

AllAccessDisabled: All access to this object has been disabled

在我的节点 Lambda 函数中执行s3.copyObject函数时。

是因为源存储桶的权限不足,还是目标存储桶的权限不足而引发此错误?

标签: amazon-s3aws-lambda

解决方案


此错误意味着您正在尝试访问已被 AWS 锁定的存储桶,因此无论权限如何,任何人都无法访问它——所有访问都已被禁用。

这可能是因为账单未付,也可能是其他原因......

但是......通常这意味着您在代码中犯了一个错误并且没有访问您认为的存储桶。

s3.copyObject预计CopySource是这样的:

'/' + source_bucket_name + '/' + object_key

如果你忽略这一点并提供类似/uploads/funny/cat.png你会得到这个错误的东西,因为这里uploads是存储桶名称并且funny/cat.png是对象键......并且命名的存储桶uploads恰好是一个返回AllAccessDisabled错误的存储桶......所以这里真正的错误是您访问了错误的存储桶。


推荐阅读