PERL Net :: Amazon :: S3 BucketAlreadyExists:请求的存储桶名称不可用

Joe*_*uts 21 perl amazon-s3

my $bucketname = "test";
my $bucket = $s3->add_bucket( { bucket => "$bucketname" } )
    or die $s3->err . ": " . $s3->errstr;
Run Code Online (Sandbox Code Playgroud)

运行此代码会给我这个错误.

BucketAlreadyExists:请求的存储桶名称不可用.存储桶命名空间由系统的所有用户共享.请选择其他名称,然后重试.

存储桶不存在.我不确定是什么问题.

谢谢

bdo*_*lan 34

S3存储桶是一个全局命名空间,因此很有可能其他人在获得它之前就使用了相同的存储桶.由于内部复制延迟或其他此类问题,以前删除的存储桶也可能无法重复使用.

在这种特殊情况下,"test"是一个非常通用的存储桶名称.我确信每个人和他们的狗都试图使用它 - 当我尝试列出它时,我得到一个AllAccessDisabled错误.看起来S3团队已经"test"专门禁用了该存储桶,因为有太多人试图将其用作存储桶名称.

因此,简而言之,您需要选择一个唯一的桶名称 - 一个其他人正在使用的名称.

  • 希望错误消息对此更明确......"系统的所有用户共享"也可以引用我团队中的每个人... (7认同)
  • 这解释了为什么我的高度原始的存储桶名称 foo 不可用。 (2认同)