PERL Net :: Amazon :: S3 BucketAlreadyExists: запрошенное имя сегмента недоступно - PullRequest
20 голосов
/ 21 октября 2011
my $bucketname = "test";
my $bucket = $s3->add_bucket( { bucket => "$bucketname" } )
    or die $s3->err . ": " . $s3->errstr;

Выполнение этого кода дает мне эту ошибку.

BucketAlreadyExists: Запрошенное имя сегмента недоступно.Пространство имен сегмента является общим для всех пользователей системы.Пожалуйста, выберите другое имя и повторите попытку.

Корзина не существует.Я не уверен, что не так.

Спасибо

Ответы [ 3 ]

31 голосов
/ 21 октября 2011

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

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

Итак, в общем, вам нужно выбрать уникальную имя корзины - то, которое еще НИКТО не использует.

1 голос
/ 28 января 2015

Разные учетные записи AWS не могут иметь сегменты с одинаковыми именами.Кто-то уже должен был создать «тест».

0 голосов
/ 06 мая 2015

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...