Freigeben über


Azure Blob Storage-Codebeispiele mit JavaScript-Clientbibliotheken der Version 11.x

Dieser Artikel zeigt Codebeispiele, welche die Version 11.x der Azure Blob Storage-Clientbibliothek für JavaScript verwenden.

Am 31. März 2023 haben wir die Unterstützung für Azure SDK-Bibliotheken eingestellt, die nicht den aktuellen Azure SDK-Richtlinien entsprachen. Die neuen Azure SDK-Bibliotheken werden regelmäßig aktualisiert, um konsistente Erfahrungen zu ermöglichen und Ihren Sicherheitsstatus zu stärken. Es wird empfohlen, auf die neuen Azure SDK-Bibliotheken umzusteigen, um die neuen Funktionen und wichtigen Sicherheitsupdates zu nutzen.

Obwohl die älteren Bibliotheken noch über den 31. März 2023 hinaus verwendet werden können, erhalten sie keinen offiziellen Support und keine Updates mehr von Microsoft. Weitere Informationen finden Sie in der Ankündigung der Supporteinstellung.

Erstellen einer hochverfügbaren App mit Blob Storage

Laden Sie das Beispielprojekt herunter, und entzippen Sie die Datei. Sie können auch Git verwenden, um eine Kopie der Anwendung in Ihre Entwicklungsumgebung herunterzuladen. Das Beispielprojekt enthält eine einfache Node.js-Anwendung.

git clone https://github.com/Azure-Samples/storage-node-v10-ha-ra-grs.git

Das Beispiel konfigurieren

Um dieses Beispiel ausführen zu können, müssen Sie Ihre Anmeldeinformationen für das Speicherkonto der .env.example-Datei hinzufügen und sie in .env umbenennen.

AZURE_STORAGE_ACCOUNT_NAME=<replace with your storage account name>
AZURE_STORAGE_ACCOUNT_ACCESS_KEY=<replace with your storage account access key>

Sie finden diese Informationen im Azure-Portal, indem Sie zu Ihrem Speicherkonto navigieren und im Abschnitt Einstellungen die Option Zugriffsschlüssel auswählen.

Installieren Sie die erforderlichen Abhängigkeiten, indem Sie eine Eingabeaufforderung öffnen, zum Beispielordner navigieren und dann npm install eingeben.

Ausführen der Konsolenanwendung

Um das Beispiel auszuführen, öffnen Sie eine Eingabeaufforderung, navigieren Sie zum Beispielordner, und geben Sie dann node index.js ein.

Im Beispiel wird ein Container in Ihrem Blobspeicherkonto erstellt, HelloWorld.png in den Container geladen und dann wiederholt überprüft, ob der Container und das Image in der sekundären Region repliziert wurden. Nach der Replikation werden sie aufgefordert, D oder Q (gefolgt von der EINGABETASTE) zum Herunterladen oder Beenden einzugeben. Ihre Ausgabe sollte etwa folgendem Beispiel entsprechen:

Created container successfully: newcontainer1550799840726
Uploaded blob: HelloWorld.png
Checking to see if container and blob have replicated to secondary region.
[0] Container has not replicated to secondary region yet: newcontainer1550799840726 : ContainerNotFound
[1] Container has not replicated to secondary region yet: newcontainer1550799840726 : ContainerNotFound
...
[31] Container has not replicated to secondary region yet: newcontainer1550799840726 : ContainerNotFound
[32] Container found, but blob has not replicated to secondary region yet.
...
[67] Container found, but blob has not replicated to secondary region yet.
[68] Blob has replicated to secondary region.
Ready for blob download. Enter (D) to download or (Q) to quit, followed by ENTER.
> D
Attempting to download blob...
Blob downloaded from primary endpoint.
> Q
Exiting...
Deleted container newcontainer1550799840726

Verstehen des Beispielcodes

Mit dem Node.js V10 SDK sind Rückrufhandler nicht erforderlich. Stattdessen erstellt das Beispiel eine Pipeline, die mit Optionen für Wiederholungsversuche und einem sekundären Endpunkt konfiguriert wird. Diese Konfiguration ermöglicht es der Anwendung, automatisch zur sekundären Pipeline zu wechseln, wenn sie Ihre Daten nicht über die primäre Pipeline erreichen kann.

const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME;
const storageAccessKey = process.env.AZURE_STORAGE_ACCOUNT_ACCESS_KEY;
const sharedKeyCredential = new SharedKeyCredential(accountName, storageAccessKey);

const primaryAccountURL = `https://${accountName}.blob.core.windows.net`;
const secondaryAccountURL = `https://${accountName}-secondary.blob.core.windows.net`;

const pipeline = StorageURL.newPipeline(sharedKeyCredential, {
  retryOptions: {
    maxTries: 3,
    tryTimeoutInMs: 10000,
    retryDelayInMs: 500,
    maxRetryDelayInMs: 1000,
    secondaryHost: secondaryAccountURL
  }
});