Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
- BlobClient.download
- BlobClient.downloadToBuffer (nur in der Node.js-Runtime verfügbar)
- BlobClient.downloadToFile (nur in der Node.js-Runtime verfügbar)
In einen Dateipfad herunterladen
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, localFilePath) {
const blobClient = containerClient.getBlobClient(blobName);
await blobClient.downloadToFile(localFilePath);
}
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);
}
In eine Zeichenfolge herunterladen
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());
}
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 mit JavaScript im Browser arbeiten, werden die Blob-Daten als Promise blobBody zurückgegeben. Weitere Informationen finden Sie in der Beispielverwendung für Browser unter BlobClient.download.
Überprüfung der Datenübertragung beim Download
Die Übertragungsüberprüfung mit CRC64 bietet datenintegrität auf Clientebene für Azure Blob Storage, sodass Sie überprüfen können, ob die von Ihrer Anwendung gesendeten Daten die gleichen Daten sind, die von Azure gespeichert und gelesen werden. Wenn diese Option aktiviert ist, berechnet und überprüft das Blob SDK CRC64-Prüfsummen während Upload- und Downloadvorgängen, während der Dienst CRC64-Prüfsummen für die empfangenen und zurückgegebenen Daten unabhängig berechnet und überprüft. Die Überprüfung erfolgt für jede Anforderung und über den vollständigen Datenstrom hinweg, um sicherzustellen, dass das gesamte Blob auch dann überprüft wird, wenn Daten in Partitionen übertragen werden, z. B. Blockuploads oder Bereichslesevorgänge. Weitere Informationen finden Sie unter "Strukturiertes Textformat ".
Übertragungsüberprüfungsoptionen können mithilfe von BlobClientConfig auf Clientebene definiert werden, wodurch Validierungsoptionen auf alle Methoden angewendet werden, die von einer BlobClient-Instanz aufgerufen werden. Alternativ können Sie Übertragungsüberprüfungsoptionen auf Vorgangsebene über Optionen wie BlobDownloadOptions außer Kraft setzen.
const blobServiceClient = new BlobServiceClient(
`https://${account}.blob.core.windows.net`,
new DefaultAzureCredential(),
{
uploadContentChecksumAlgorithm: "StorageCrc64",
downloadContentChecksumAlgorithm: "StorageCrc64",
}
);
Ressourcen
Weitere Informationen zum Herunterladen von Blobs mithilfe der Azure Blob Storage-Clientbibliothek für JavaScript finden Sie in den folgenden Ressourcen.
Codebeispiele
Sehen Sie sich Codebeispiele aus diesem Artikel (GitHub) an:
Herunterladen als Datei für JavaScript oder TypeScript
Zum Streamen herunterladen für JavaScript oder TypeScript
Herunterladen als Zeichenfolge für JavaScript oder TypeScript
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:
- Get Blob (REST-API)
Ressourcen zur Clientbibliothek
Zugehöriger Inhalt
- Dieser Artikel ist Teil des Blob Storage-Entwicklerleitfadens für JavaScript/TypeScript. Weitere Informationen finden Sie in der vollständigen Liste der Entwicklerleitfäden unter Erstellen Ihrer JavaScript-/TypeScript-App.