amazon-s3 - 在 S3 存储桶之间复制时抛出“AllAccessDisabled:对此对象的所有访问权限已被禁用”错误
问题描述
我收到此错误:
AllAccessDisabled: All access to this object has been disabled
在我的节点 Lambda 函数中执行s3.copyObject
函数时。
是因为源存储桶的权限不足,还是目标存储桶的权限不足而引发此错误?
解决方案
此错误意味着您正在尝试访问已被 AWS 锁定的存储桶,因此无论权限如何,任何人都无法访问它——所有访问都已被禁用。
这可能是因为账单未付,也可能是其他原因......
但是......通常这意味着您在代码中犯了一个错误并且没有访问您认为的存储桶。
s3.copyObject
预计CopySource
是这样的:
'/' + source_bucket_name + '/' + object_key
如果你忽略这一点并提供类似/uploads/funny/cat.png
你会得到这个错误的东西,因为这里uploads
是存储桶名称并且funny/cat.png
是对象键......并且命名的存储桶uploads
恰好是一个返回AllAccessDisabled
错误的存储桶......所以这里真正的错误是您访问了错误的存储桶。
推荐阅读
- sql - 添加'...在哪里
在(选择 从 )' 到 Hibernate 5.3+ CriteriaBuilder 是否可以使用 Hibernate 5.3+ CriteriaBuilder 添加嵌套的 SELECT IN 语句?
一般我想使用标准生成器创建以下 SQL:
select * from ORDERS where sen
- javascript - 在脚本中添加css,可以吗?
- sql-server - SQL Server Management Studio 指定哪些列存在数据类型冲突
- kubernetes - 将 redis-sentinel 连接到 Kubernetes 上的 redis-master
- json - 将 json 文件拆分为父级和多个子级
- laravel - 雄辩的查询没有结果,但在数据库上它可以工作
- javascript - 添加的Javascript浮动问题
- docker - 如何在 docker 中保存 docker 镜像和 DB?
- javascript - 如何在自定义反应 useEffect 中处理 Promise
- nginx - get_name:no start line:Expecting: TRUSTED CERTIFICATE