Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

115
Visualizações
AWS Lambda descomprime y carga miles de archivos

Tengo 2 cubos S3. El depósito A es donde se carga un archivo zip y el depósito B contiene los datos extraídos del último archivo comprimido que se cargó en el depósito A. Tengo un Lambda que se activa con un evento de creación de objetos del depósito A, luego extrae el archivo zip como un transmite y sube al cubo B. Aquí está el código:

 const aws = require('aws-sdk'); const unzipper = require('unzipper'); const s3Client = new aws.S3({ apiVersion: '2006-03-01' }); exports.handler = async (event, context) => { const sourceBucket = event.Records[0].s3.bucket.name; const zip = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, ' ')); const s3Params = { Bucket: sourceBucket, Key: zip }; const zip = s3Client.getObject(s3Params).createReadStream().pipe(unzipper.Parse({ forceStream: true })); const promises = []; for await (const file of zip) { const type = file.type; if (type === 'File') { const fileName = file.path; const params = { Bucket: process.env.DEST_BUCKET, Key: `${fileName}`, Body: file, }; promises.push(s3Client.upload(params).promise()); } else { file.autodrain(); } } await Promise.all(promises); };

El problema es que el zip tiene unos 200 MB con más de 10.000 archivos y carpetas. La lambda, incluso establecida en 900 segundos, se está agotando. ¿Existe una manera más eficiente de escribir el código anterior para utilizar algo como flujos paralelos o reescritura del bucle for?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda