2011-10-20 22 views
18
my $bucketname = "test"; 
my $bucket = $s3->add_bucket({ bucket => "$bucketname" }) 
    or die $s3->err . ": " . $s3->errstr; 

Ejecutando este código me da este error.PERL Net :: Amazon :: S3 BucketAlreadyExists: El nombre del depósito solicitado no está disponible

BucketAlreadyExists: El nombre del cucharón solicitado no está disponible. El espacio de nombres del depósito es compartido por todos los usuarios del sistema. Seleccione un nombre diferente y vuelva a intentarlo.

El cubo no existe. No estoy seguro de lo que está mal.

Gracias

+1

¿Estás seguro? Esta podría ser una buena pregunta en el [foro de AWS] (https://forums.aws.amazon.com/forum.jspa?forumID=24). – ObscureRobot

Respuesta

27

S3 cubos son un espacio de nombres global, y por lo que es muy posible que alguien más tomó el mismo cubo antes de que pudiera conseguirlo. También es posible que, debido a retrasos en la replicación interna u otros problemas similares, un depósito previamente eliminado aún no esté disponible para su reutilización.

En este caso particular, "test" es un nombre de cubo MUY genérico. Estoy seguro de que todos y su perro están tratando de usarlo, y cuando intento LISTAR, obtengo un error de AllAccessDisabled. Parece que el equipo S3 ha desactivado el cubo "test" específicamente porque demasiadas personas intentan usarlo como su nombre de depósito.

Por lo tanto, en resumen, debe elegir un único nombre de cubo, uno que NADIE está utilizando.

+0

gracias por esto, no entendí que estos nombres de cubo fueran globales. –

+6

desearía que el mensaje de error fuera más explícito sobre esto ... "compartido por todos los usuarios del sistema" también podría referirse a todos en mi equipo ... – emmagras

+1

esto explica cómo mi nombre de cubo original de foo no está disponible. –

1

Diferentes cuentas AWS no pueden tener depósitos del mismo nombre. Alguien más debe haber creado 'test' ya.

Cuestiones relacionadas