Schnellstart: Verwalten von Blobs per JavaScript v12 SDK in Node.js
In dieser Schnellstartanleitung erfahren Sie, wie Sie Blobs mithilfe von Node.js verwalten. Bei Blobs handelt es sich um Objekte, die große Mengen von Text oder Binärdaten enthalten können, z. B. Bilder, Dokumente, Streamingmedien und Archivdaten.
Diese Beispielcodeausschnitte veranschaulichen, wie Sie die folgenden Vorgänge mithilfe der Azure Blob Storage-Paketbibliothek für JavaScript ausführen:
- Abrufen der Verbindungszeichenfolge
- Container erstellen
- Hochladen von Blobs in einen Container
- Auflisten der Blobs in einem Container
- Herunterladen von Blobs
- Löschen eines Containers
Zusätzliche Ressourcen:
API-ReferenzQuellcode der BibliothekPaket (npm)Beispiele
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Azure Storage-Konto Informationen zu Azure-Speicherkonten
- Node.js LTS
- Microsoft Visual Studio Code
Objektmodell
Azure Blob Storage ist für die Speicherung großer Mengen unstrukturierter Daten optimiert. Unstrukturierte Daten sind Daten, die keinem bestimmten Datenmodell und keiner bestimmten Definition entsprechen (also beispielsweise Text- oder Binärdaten). Blob Storage bietet drei Typen von Ressourcen:
- Das Speicherkonto
- Einen Container im Speicherkonto
- Ein Blob im Container
Im folgenden Diagramm ist die Beziehung zwischen diesen Ressourcen dargestellt.

Verwenden Sie die folgenden JavaScript-Klassen für die Interaktion mit folgenden Ressourcen:
- BlobServiceClient: Die
BlobServiceClient-Klasse ermöglicht Ihnen, Azure Storage-Ressourcen und Blobcontainer zu bearbeiten. - ContainerClient: Die
ContainerClient-Klasse ermöglicht Ihnen, Azure Storage-Container und deren Blobs zu bearbeiten. - BlobClient: Die
BlobClient-Klasse ermöglicht Ihnen, Azure Storage-Blobs zu bearbeiten.
Erstellen des Node.js-Projekts
Erstellen Sie zunächst eine JavaScript-Anwendung mit dem Namen blob-quickstart-v12.
Erstellen Sie in einem Konsolenfenster (z. B. cmd, PowerShell oder Bash) ein neues Verzeichnis für das Projekt.
mkdir blob-quickstart-v12Wechseln Sie zu dem neu erstellten Verzeichnis blob-quickstart-v12.
cd blob-quickstart-v12Erstellen Sie eine Datei package.json.
npm init -yÖffnen Sie das Projekt in Visual Studio Code:
code .
Installieren des npm-Pakets für Blob Storage
Installieren Sie das npm-Paket für Azure Storage:
npm install @azure/storage-blobInstallieren Sie weitere Abhängigkeiten, die in diesem Schnellstart verwendet werden:
npm install uuid dotenv
Erstellen einer JavaScript-Datei
Über das Projektverzeichnis:
Erstellen Sie eine neue Datei mit dem Namen
index.js.Kopieren Sie den folgenden Code in die Datei. Im Rahmen dieses Schnellstarts wird noch mehr Code hinzugefügt.
const { BlobServiceClient } = require('@azure/storage-blob'); const { v1: uuidv1} = require('uuid'); require('dotenv').config() async function main() { console.log('Azure Blob storage v12 - JavaScript quickstart sample'); // Quick start code goes here } main() .then(() => console.log('Done')) .catch((ex) => console.log(ex.message));
Kopieren Ihrer Anmeldeinformationen aus dem Azure-Portal
Wenn die Beispielanwendung eine Anforderung an Azure Storage sendet, muss diese autorisiert werden. Fügen Sie zum Autorisieren einer Anforderung die Anmeldeinformationen für Ihr Speicherkonto in Form einer Verbindungszeichenfolge hinzu. Führen Sie zum Anzeigen der Anmeldeinformationen Ihres Speicherkontos die folgenden Schritte aus:
Melden Sie sich beim Azure-Portal an.
Suchen Sie nach Ihrem Speicherkonto.
Wählen Sie im Speicherkonto-Menübereich unter Sicherheit + Netzwerkbetrieb die Option Zugriffsschlüssel aus. Hier können Sie die Kontozugriffsschlüssel und die vollständige Verbindungszeichenfolge für jeden Schlüssel anzeigen.

Wählen Sie im Bereich Zugriffsschlüssel die Option Schlüssel anzeigen aus.
Suchen Sie im Abschnitt key1 nach dem Wert Verbindungszeichenfolge. Wählen Sie das Symbol In Zwischenablage kopieren zum Kopieren der Verbindungszeichenfolge aus. Im nächsten Abschnitt fügen Sie den Wert der Verbindungszeichenfolge in eine Umgebungsvariable ein.

Konfigurieren der Speicherverbindungszeichenfolge
Schreiben Sie die Verbindungszeichenfolge nach dem Kopieren in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird. Öffnen Sie zum Festlegen der Umgebungsvariablen ein Konsolenfenster, und befolgen Sie die Anleitung für Ihr Betriebssystem. Ersetzen Sie <yourconnectionstring> durch Ihre Verbindungszeichenfolge.
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
Sie müssen nach dem Hinzufügen der Umgebungsvariablen unter Windows eine neue Instanz des Befehlsfensters öffnen.
Neustarten von Programmen
Nachdem Sie die Umgebungsvariable hinzugefügt haben, starten Sie alle ausgeführten Programme neu, in denen die Umgebungsvariable gelesen werden muss. Starten Sie beispielsweise die Entwicklungsumgebung oder den Editor neu, bevor Sie fortfahren.
Abrufen der Verbindungszeichenfolge
Der folgende Code ruft die Verbindungszeichenfolge für das Speicherkonto aus der Umgebungsvariable ab, die im Abschnitt Konfigurieren der Speicherverbindungszeichenfolge erstellt wurde.
Fügen Sie diesen Code in der main-Funktion hinzu:
const AZURE_STORAGE_CONNECTION_STRING =
process.env.AZURE_STORAGE_CONNECTION_STRING;
if (!AZURE_STORAGE_CONNECTION_STRING) {
throw Error("Azure Storage Connection string not found");
}
Erstellen eines Containers
Legen Sie einen Namen für den neuen Container fest. Die Containernamen müssen klein geschrieben werden.
Weitere Informationen zum Benennen von Containern und Blobs finden Sie unter Naming and Referencing Containers, Blobs, and Metadata (Benennen von Containern, Blobs und Metadaten und Verweisen auf diese).
Fügen Sie diesen Code am Ende der
main-Funktion hinzu:// Create the BlobServiceClient object which will be used to create a container client const blobServiceClient = BlobServiceClient.fromConnectionString( AZURE_STORAGE_CONNECTION_STRING ); // Create a unique name for the container const containerName = "quickstart" + uuidv1(); console.log("\nCreating container..."); console.log("\t", containerName); // Get a reference to a container const containerClient = blobServiceClient.getContainerClient(containerName); // Create the container const createContainerResponse = await containerClient.create(); console.log( "Container was created successfully. requestId: ", createContainerResponse.requestId );Der vorangehende Code erzeugt eine Instanz der Klasse BlobServiceClient durch den Aufruf der Methode fromConnectionString. Rufen Sie dann die getContainerClient-Methode auf, um einen Verweis auf einen Container zu erhalten. Rufen Sie zum schließlich create auf, um den Container in Ihrem Speicherkonto zu erstellen.
Hochladen von Blobs in einen Container
Kopieren Sie den folgenden Code an das Ende der Funktion main, um eine Textzeichenfolge in ein Blob hochzuladen:
// Create a unique name for the blob
const blobName = "quickstart" + uuidv1() + ".txt";
// Get a block blob client
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
console.log("\nUploading to Azure storage as blob:\n\t", blobName);
// Upload data to the blob
const data = "Hello, World!";
const uploadBlobResponse = await blockBlobClient.upload(data, data.length);
console.log(
"Blob was uploaded successfully. requestId: ",
uploadBlobResponse.requestId
);
Im vorstehenden Code wird ein Verweis auf ein BlockBlobClient-Objekt abgerufen, indem die getBlockBlobClient-Methode für den ContainerClient aus dem Abschnitt Erstellen eines Containers aufgerufen wird. Der Code lädt die Textzeichenfolgedaten durch Aufrufen der upload-Methode in das Blob hoch.
Auflisten der Blobs in einem Container
Fügen Sie am Ende der Funktion main den folgenden Code hinzu, um die Blobs im Container aufzulisten.
console.log("\nListing blobs...");
// List the blob(s) in the container.
for await (const blob of containerClient.listBlobsFlat()) {
console.log("\t", blob.name);
}
Der vorangehende Code ruft die Methode listBlobsFlat auf. In diesem Fall wurde dem Container nur ein Blob hinzugefügt, sodass beim Auflisten auch nur ein Blob zurückgegeben wird.
Herunterladen von Blobs
Fügen Sie am Ende der Funktion
mainden folgenden Code hinzu, um das zuvor erstellte Blob in die App-Runtime herunterzuladen.// Get blob content from position 0 to the end // In Node.js, get downloaded data by accessing downloadBlockBlobResponse.readableStreamBody // In browsers, get downloaded data by accessing downloadBlockBlobResponse.blobBody const downloadBlockBlobResponse = await blockBlobClient.download(0); console.log("\nDownloaded blob content..."); console.log( "\t", await streamToText(downloadBlockBlobResponse.readableStreamBody) );Der vorangehende Code ruft die Methode download auf.
Kopieren Sie den folgenden Code nach der Funktion
main, um einen Stream wieder in eine Zeichenfolge zu konvertieren.// Convert stream to text async function streamToText(readable) { readable.setEncoding('utf8'); let data = ''; for await (const chunk of readable) { data += chunk; } return data; }
Löschen eines Containers
Fügen Sie diesen Code am Ende der Funktion main hinzu, um den Container und alle zugehörigen Blobs zu löschen:
// Delete container
console.log("\nDeleting container...");
const deleteContainerResponse = await containerClient.delete();
console.log(
"Container was deleted successfully. requestId: ",
deleteContainerResponse.requestId
);
Im vorstehenden Code werden die von der App erstellten Ressourcen bereinigt, indem der gesamte Container mithilfe der Methode delete gelöscht wird. Sie können bei Bedarf auch die lokalen Dateien löschen.
Ausführen des Codes
Führen Sie die App über ein Visual Studio Code-Terminal aus.
node index.jsDie Ausgabe der App sieht etwa wie das folgende Beispiel aus:
Azure Blob storage v12 - JavaScript quickstart sample Creating container... quickstart4a0780c0-fb72-11e9-b7b9-b387d3c488da Uploading to Azure Storage as blob: quickstart4a3128d0-fb72-11e9-b7b9-b387d3c488da.txt Listing blobs... quickstart4a3128d0-fb72-11e9-b7b9-b387d3c488da.txt Downloaded blob content... Hello, World! Deleting container... Done
Durchlaufen Sie den Code Schritt für Schritt im Debugger, und überprüfen Sie das Azure-Portal während des gesamten Vorgangs. Stellen Sie fest, ob der Container erstellt wurde. Sie können das Blob im Container öffnen und den Inhalt anzeigen.
Verwenden des Speicheremulators
In diesem Schnellstart wurden ein Container und ein Blob in der Azure-Cloud erstellt. Sie können auch das Azure Blob Storage npm-Paket verwenden, um diese Ressourcen für Entwicklung und Tests lokal im Azure-Speicheremulator zu erstellen.
Bereinigung
- Wenn Sie den Schnellstart durchgearbeitet haben, löschen Sie das Verzeichnis
blob-quickstart-v12. - Wenn Sie Ihre Azure Storage-Ressource nicht mehr benötigen, entfernen Sie die Speicherressource mithilfe der Azure CLI.
Nächste Schritte
In dieser Schnellstartanleitung wurde beschrieben, wie Sie Blobs mit JavaScript hochladen, herunterladen und auflisten.
Tutorials, Beispiele, Schnellstartanleitungen und weiteres Dokumentationsmaterial finden Sie hier:
- Informationen zum Bereitstellen einer Web-App, die Azure Blob Storage verwendet, finden Sie unter Tutorial: Hochladen von Bilddaten in die Cloud mit Azure Storage.
- Blob Storage-Beispiel-Apps finden Sie in den Beispielen der Azure Blob Storage-Paketbibliothek (Version 12) für JavaScript.
- Weitere Informationen finden Sie in der Azure Storage Blob client library for JavaScript (Azure Storage Blob-Clientbibliothek für JavaScript).