Saltar al contenido

Cómo cambiar el nombre del depósito de AWS S3

Te doy la bienvenida a nuestra página web, aquí vas a hallar la respuesta a lo que estabas buscando.

Solución:

Solución

aws s3 mb s3://[new-bucket]
aws s3 sync s3://[old-bucket] s3://[new-bucket]
aws s3 rb --force s3://[old-bucket]

Explicación

No hay una función de cambio de nombre del depósito para S3 porque técnicamente no hay carpetas en S3, por lo que tenemos que manejar cada archivo dentro del depósito.

El código anterior 1. creará un nuevo depósito, 2. copiará los archivos y 3. eliminará el depósito anterior. Eso es.

Si tiene muchos archivos en su depósito y le preocupan los costos, siga leyendo. Detrás de escena, lo que sucede es que todos los archivos dentro del depósito primero se copian y luego se eliminan. Debería costar una cantidad insignificante si tiene unos pocos miles de archivos. De lo contrario, verifique esta respuesta para ver cómo le afectaría.

Ejemplo

En el siguiente ejemplo, creamos y completamos el depósito anterior y luego sincronizamos los archivos con el nuevo. Verifique la salida de los comandos para ver qué hace AWS.

> # bucket suffix so we keep it unique
> suffix="ieXiy2"  # used `pwgen -1 -6` to get this
>
> # populate old bucket
> echo "asdf" > asdf.txt
> echo "yxcv" > yxcv.txt
> aws s3 mb s3://old-bucket-$suffix
make_bucket: old-bucket-ieXiy2
> aws s3 cp asdf.txt s3://old-bucket-$suffix/asdf.txt
upload: ./asdf.txt to s3://old-bucket-ieXiy2/asdf.txt
> aws s3 cp yxcv.txt s3://old-bucket-$suffix/yxcv.txt
upload: ./yxcv.txt to s3://old-bucket-ieXiy2/yxcv.txt
>
> # "rename" to new bucket
> aws s3 mb s3://new-bucket-$suffix
make_bucket: new-bucket-ieXiy2
> aws s3 sync s3://old-bucket-$suffix s3://new-bucket-$suffix
copy: s3://old-bucket-ieXiy2/yxcv.txt to s3://new-bucket-ieXiy2/yxcv.txt
copy: s3://old-bucket-ieXiy2/asdf.txt to s3://new-bucket-ieXiy2/asdf.txt
> aws s3 rb --force s3://old-bucket-$suffix
delete: s3://old-bucket-ieXiy2/asdf.txt
delete: s3://old-bucket-ieXiy2/yxcv.txt
remove_bucket: old-bucket-ieXiy2

Creo que la única forma es crear un nuevo depósito con el nombre correcto y luego copiar todos sus objetos del depósito anterior al depósito nuevo. Puede hacerlo usando AWS CLI.

Probablemente una versión posterior del kit de herramientas AWS CLI proporcionó la mv opción.

$ aws --version
aws-cli/1.15.30 Python/3.6.5 Darwin/17.6.0 botocore/1.10.30

Estoy cambiando el nombre de los cubos con el siguiente comando:

aws s3 mv s3://old-bucket s3://new-bucket --recursive

Si crees que ha resultado de utilidad nuestro artículo, te agradeceríamos que lo compartas con otros juniors así nos ayudas a dar difusión a nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *