如何解决创建 Amazon S3 桶时出现的错误?

1 分钟阅读
0

我想在我的账户中创建一个 Amazon Simple Storage Service(Amazon S3)桶。然而,我遇到了一些错误。

解决方法

当您尝试创建 Amazon S3 桶时,可能会遇到下列错误之一:

  • “当前正在对此资源执行冲突的条件操作”
  • “TooManyBuckets: 您试图创建的桶数超过允许的数量”
  • “访问被拒绝”
  • “BucketAlreadyExists”
  • “网络错误”

**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请确保您使用的是最新的 AWS CLI 版本

当前正在对此资源执行冲突的条件操作

出现此错误的原因如下:

  • 您试图创建的桶与最近删除的桶同名。
  • 您试图同时创建与其他人或其他 AWS Identity and Access Management (IAM)身份同名的桶。

由于桶名称必须全局唯一,因此不能有两个同名的桶。删除桶后,请等待几个小时,以便更改在所有 AWS 区域生效。大多数情况下,您可以在删除前一个桶后的几个小时内创建桶。然而,少数情况下,更改可能需要 48 到 72 小时才能生效。因此,最佳做法是等待至少 48 小时后再次创建 S3 桶。

TooManyBuckets: 您试图创建的桶数超过允许的数量

当您尝试创建多个桶并超出 AWS 账户的桶限制时,会出现此错误。默认情况下,Amazon S3 的软限制为 100 个桶。如果您需要额外的桶,则可以请求提高服务限额,将您的账户桶限制提高到最多 1,000 个桶。

访问被拒绝

若要创建 S3 桶,您必须对尝试创建该桶的 IAM 实体拥有 s3:CreateBucket 权限。此外,请检查服务控制策略 (SCP),确保它们没有明确拒绝 s3:CreateBucket 权限。

BucketAlreadyExists

Amazon S3 桶名称必须全局唯一。如果您收到错误“桶名称已存在”或“BucketAlreadyExists”,则在创建 s3 桶时,请使用不同的桶名称。这些错误消息表明另一个 AWS 账户已经拥有同名的 s3 桶。

例如,你收到错误“桶名称已经归您所有”或“BucketAlreadyOwnedByYou”。这些错误消息表明您的账户已在使用指定的桶名称。在 Amazon S3 控制台上查看现有桶。或者,运行 head-bucket AWS CLI 命令来确认您是否已经有同名的桶。

网络错误

如需解决此错误,请尝试下列方法:

  • 检查您的浏览器设置。您可能会因为涉及的代理服务器或者您安装或启用的扩展(例如 AdBlocker 或 uBlock)而遇到此错误。与您的网络团队一起解决该问题。
  • 清除浏览器上的缓存和 Cookie。尝试使用其他浏览器,看看问题在浏览器中是否仍然存在。或者,尝试在 Web 浏览器中使用隐身模式访问 Amazon S3 控制台。
  • 如果问题仍然存在,请运行 AWS CLI create-bucket 命令来创建桶:
$ aws s3api create-bucket --bucket my-bucket --region eu-west-1
AWS 官方
AWS 官方已更新 1 年前