Herunterladen eines Blobs mit JavaScript

In diesem Artikel wird beschrieben, wie ein Blob mithilfe der Azure Storage-Clientbibliothek für JavaScript heruntergeladen wird. Sie können Blobdaten an verschiedene Ziele herunterladen, einschließlich einen lokalen Dateipfad, einen Stream oder eine Textzeichenfolge.

Voraussetzungen

  • Bei den Beispielen in diesem Artikel wird davon ausgegangen, dass Sie bereits ein Projekt eingerichtet haben, das mit der Azure Blob Storage Clientbibliothek für JavaScript arbeitet. Informationen zum Einrichten Ihres Projekts, einschließlich der Paketinstallation, dem Importieren von Modulen und dem Erstellen eines autorisierten Clientobjekts für die Verwendung mit Datenressourcen, finden Sie unter Erste Schritte mit Azure Blob Storage und JavaScript.
  • Der Autorisierungsmechanismus muss über Berechtigungen zum Ausführen eines Downloadvorgangs verfügen. Weitere Informationen finden Sie im Autorisierungsleitfaden für die folgenden REST-API-Vorgänge:

Herunterladen eines Blobs

Sie können eine der folgenden Methoden verwenden, um ein Blob herunterzuladen:

Herunterladen in einen Dateipfad

Im folgenden Beispiel wird ein Blob unter Verwendung eines Dateipfads mit der Methode BlobClient.downloadToFile heruntergeladen. Diese Methode ist nur in der Node.js-Runtime verfügbar:

async function downloadBlobToFile(containerClient, blobName, fileNameWithPath) {

    const blobClient = containerClient.getBlobClient(blobName);
    
    await blobClient.downloadToFile(fileNameWithPath);
    console.log(`download of ${blobName} success`);
}

Herunterladen als Stream

Im folgenden Beispiel wird ein Blob heruntergeladen, indem ein Node.js beschreibbares Streamobjekt erstellt und dann mit der Methode BlobClient.download an diesen Stream geleitet wird.

async function downloadBlobAsStream(containerClient, blobName, writableStream) {

    const blobClient = containerClient.getBlobClient(blobName);

    const downloadResponse = await blobClient.download();

    downloadResponse.readableStreamBody.pipe(writableStream);
    console.log(`download of ${blobName} succeeded`);
}

Herunterladen in eine Zeichenfolge

Im folgenden Node.js-Beispiel wird ein Blob mit der Methode BlobClient.download in eine Zeichenfolge heruntergeladen. In Node.js werden Blobdaten in einem readableStreamBody zurückgegeben.


async function downloadBlobToString(containerClient, blobName) {

    const blobClient = containerClient.getBlobClient(blobName);

    const downloadResponse = await blobClient.download();

    const downloaded = await streamToBuffer(downloadResponse.readableStreamBody);
    console.log('Downloaded blob content:', downloaded.toString());
}

async function streamToBuffer(readableStream) {
    return new Promise((resolve, reject) => {
        const chunks = [];
        readableStream.on('data', (data) => {
            chunks.push(data instanceof Buffer ? data : Buffer.from(data));
        });
        readableStream.on('end', () => {
            resolve(Buffer.concat(chunks));
        });
        readableStream.on('error', reject);
    });
}

Wenn Sie im Browser JavaScript verwenden, werden Blobdaten in einem PromiseblobBody zurückgegeben. Weitere Informationen finden Sie in der Beispielverwendung für Browser unter BlobClient.download.

Ressourcen

Weitere Informationen zum Herunterladen von Blobs mithilfe der Azure Blob Storage-Clientbibliothek für JavaScript finden Sie in den folgenden Ressourcen.

REST-API-Vorgänge

Das Azure SDK für JavaScript enthält Bibliotheken, die auf der zugrunde liegenden Azure-REST-API basieren und ermöglicht Ihnen dadurch die Interaktion mit REST-API-Vorgängen über vertraute JavaScript-Paradigmen. Die Methoden der Clientbibliothek zum Herunterladen von Blobs verwenden den folgenden REST-API-Vorgang:

Codebeispiele

Sehen Sie sich Codebeispiele aus diesem Artikel (GitHub) an:

Ressourcen zur Clientbibliothek