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

148
Vistas
Cómo guardar un archivo de S3 usando aws-sdk v3

Con el nuevo aws-sdk v3, específicamente @aws-sdk/client-s3 , no tengo claro cómo almacenar archivos en el disco desde S3.
Teniendo el siguiente código

 const { Body } = await s3.send(new GetObjectCommand({ Bucket: 'myBucket', Key: 'myKey', }))

El Body puede ser de tipo Readable | ReadableStream | Blob
Me gustaría almacenar esto en un archivo en el disco. Dado que los tipos de devolución son completamente diferentes, ¿existe una manera fácil de, por ejemplo, obtener un Buffer o Stream.Readable de aws-sdk?

En aws-sdk v2 fue fácil con la función .createReadStream() que parece que ya no existe.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Aparece ReadableStream | Blob solo está disponible en el navegador . Node.js siempre se vuelve Readable , que es lo que necesito.

La solución es bastante sencilla después con fs.createWriteStream y canalizando el Readable como

 await new Promise((resolve, reject) => { Body.pipe(fs.createWriteStream(filePath)) .on('error', err => reject(err)) .on('close', () => resolve()) })

Como referencia, aquí hay un problema en el que se analiza la mejora de la documentación https://github.com/aws/aws-sdk-js-v3/issues/1877

over 4 years ago · Santiago Trujillo Denunciar

0

Para hacer esto en mecanografiado también puedes hacer

 await new Promise((resolve, reject) => { if (Body instanceof Readable) { Body.pipe(fs.createWriteStream(filePath)) .on('error', err => reject(err)) .on('close', () => resolve()) } });
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