Подтвердить что ты не робот

PERL Net:: Amazon:: S3 BucketAlreadyExists: запрошенное имя ковша недоступно

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

Запуск этого кода дает мне эту ошибку.

BucketAlreadyExists: запрошенное имя ковша недоступно. bucket namespace используется всеми пользователями системы. Выберите другое имя и повторите попытку.

Ведро не существует. Я не уверен, что случилось.

Спасибо

4b9b3361

Ответ 1

Ведра S3 - это глобальное пространство имен, и поэтому очень возможно, что кто-то другой взял то же самое ведро, прежде чем вы сможете его получить. Также возможно, что из-за внутренних задержек репликации или других таких проблем ранее удаленный ведро еще не доступен для повторного использования.

В этом конкретном случае "test" - это ОЧЕНЬ общее имя ковша. Я уверен, что все и их собака пытаются его использовать - и когда я пытаюсь использовать LISTing, я получаю ошибку AllAccessDisabled. Похоже, команда S3 отключила ведро "test", потому что слишком много людей пытаются использовать его в качестве имени своего ведра.

Итак, словом, вам нужно выбрать уникальное имя ведра - тот, который использует NOBODY.

Ответ 2

В разных учетных записях AWS не могут быть одинаковые имена. Кто-то еще должен был создать "тест" уже.

Ответ 3

У вас будет эта ошибка, если имя bucket уже существует (для вас или для кого-то другого) или если вы попытались создать больше ведер, чем разрешено (максимум 100)

Подробнее см. в документации:

http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html