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

138
Vistas
Cómo esperar a que se complete la operación en Azure Blob Service

Cómo usar async/await en blob service. Estoy intentando descargar y comprimir la carpeta y, por lo tanto, quiero esperar hasta que se complete la descarga, para poder continuar y comprimir ese archivo. Pero debido al comportamiento asincrónico, en algún momento la función se comporta mal.

Último código:

 const blobServiceClient = BlobServiceClient.fromConnectionString("connect string"); const containerClient = blobServiceClient.getContainerClient(containerName); for await (const blob of containerClient.listBlobsFlat({ prefix: path })) { if (fs.existsSync(fileUploadPath)) { var sourceFilePath = fileUploadPath + '/' + project.id + '/' + blob.name; if (!fs.existsSync(sourceFilePath)) { fs.mkdir(require('path').dirname(sourceFilePath), { recursive: true }, async(err) => { if (err) { console.log("Failed to mkdir:" + err); } console.log(blob.name) await containerClient.getBlobClient(blob.name).downloadToFile(sourceFilePath,0,undefined); }); } } else{ console.log('downloads folder does not configures!') }

aquí tengo un par de dudas,

  1. ¿Qué tan eficiente es downloadToFile? ¿Puede descargar blobs de gran tamaño?
  2. solo se descarga el blob inmediato que también tiene datos incompletos y no se descargan los blobs en el subdirectorio.
  3. Pensé, la transmisión de datos es una forma eficiente de descargar blobs. ¿Hay alguna API para transmitir datos a local, como teníamos una en la biblioteca anterior (getBlobToStream)?
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Con la última versión del SDK de Azure Storage Blob , puede convertir su código existente en algo así:

 const { BlobServiceClient, StorageSharedKeyCredential } = require("@azure/storage-blob"); const account = "<account>"; const accountKey = "<accountkey>"; const sharedKeyCredential = new StorageSharedKeyCredential(account, accountKey); const blobServiceClient = new BlobServiceClient( `https://${account}.blob.core.windows.net`, sharedKeyCredential ); const containerName = '<container name>'; const path = '<prefix>'; async function download() { var containerClient = blobServiceClient.getContainerClient(containerName); for await (const blob of containerClient.listBlobsFlat({ prefix: path })) { await containerClient.getBlobClient(blob.name) .downloadToFile(`./${blob.name}`); } } download() .then(() => console.log('Done')) .catch((ex) => console.log(ex.message));
about 4 years ago · Juan Pablo Isaza 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