Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

807
Vistas
¿Cómo puedo mover (no copiar) un archivo en AWS S3 usando su SDK?

Necesito mover un archivo en el depósito de AWS s3 a otra ubicación, ejemplo:

  • De: http://aws.xxxxx/xxxx/locationA/file.png
  • Para: http://aws.xxxxx/xxxx/locationB/file.png

Revisé la documentación:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html , pero no encontré ninguna mención de mover o actualizar el archivo (estoy pensando que podría actualizar la ruta de la clave del archivo...).

Hasta ahora, parece que necesito copiar el archivo y luego eliminar el anterior. ¿Hay una forma más sencilla de hacerlo?

Mi código actual que copia y luego elimina el archivo antiguo:

 function moveFileInAws(fromLocation, toLocation, callback) { awsSdk.copyObject({ Bucket: BUCKET_NAME, ACL: 'public-read', CopySource: fromLocation, Key: toLocation }, (err, data) => { if (err) { console.log(err) return callback("Couldn't copy files in directory") } // callback() awsSdk.deleteObject({ Key: fromLocation }, (err, data) => { if (err) { console.log("Couldn't delete files in directory") console.log(err) return callback("Couldn't delete files in directory") } callback() }) }) }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Basado en la respuesta aquí: AWS S3: mueva un objeto a una carpeta diferente en la que el usuario @Michael-sqlbot comenta:

Esto se debe a que S3, en sí mismo, no tiene una operación atómica de movimiento o cambio de nombre... por lo que realmente no hay una alternativa.

Y los documentos aquí: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/examples-s3-objects.html#copy-object (para el SDK de Java, pero parece ser útil aquí) que señala:

Puede usar copyObject con deleteObject para mover o cambiar el nombre de un objeto, primero copiando el objeto con un nuevo nombre (puede usar el mismo depósito como origen y destino) y luego eliminando el objeto de su ubicación anterior.

Parece que la infraestructura de S3 simplemente no admite mover o cambiar el nombre en una sola operación. Debes copiar y luego borrar.

over 4 years ago · Santiago Trujillo Denunciar

0

Amazon S3 no proporciona una API para mover o cambiar el nombre de un objeto de un depósito a otro en un solo paso.

Como en su ejemplo, puede usar copyObject con deleteObject para mover o cambiar el nombre de un objeto, primero copiando el objeto con un nuevo nombre (puede usar el mismo depósito como origen y destino) y luego eliminando el objeto de su ubicación anterior .

Para obtener más información, consulte Realización de operaciones en objetos de Amazon S3.

over 4 years ago · Santiago Trujillo Denunciar

0

No estoy nada familiarizado con el SDK de JavaScript que está utilizando, pero al usar aws cli, hay:

 aws s3 mv s3://bucket/folder/file s3://bucket/folder2/file

que parece que haría lo que quieres. No estoy seguro acerca del SDK de JavaScript.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda