Delen via


Azure Blob Storage codevoorbeelden met behulp van JavaScript versie 11.x-clientbibliotheken

Dit artikel bevat codevoorbeelden die gebruikmaken van versie 11.x van de Azure Blob Storage-clientbibliotheek voor JavaScript.

Op 31 maart 2023 hebben we de ondersteuning voor Azure SDK-bibliotheken die niet voldoen aan de huidige Azure SDK-richtlijnen, buiten gebruik gesteld. De nieuwe Azure SDK-bibliotheken worden regelmatig bijgewerkt om consistente ervaringen te stimuleren en uw beveiligingspostuur te versterken. Het is raadzaam over te stappen op de nieuwe Azure SDK-bibliotheken om te profiteren van de nieuwe mogelijkheden en essentiële beveiligingsupdates.

Hoewel de oudere bibliotheken na 31 maart 2023 nog steeds kunnen worden gebruikt, ontvangen ze geen officiële ondersteuning en updates meer van Microsoft. Zie de aankondiging over buitengebruikstelling van ondersteuning voor meer informatie.

Een maximaal beschikbare app bouwen met Blob Storage

Download het voorbeeldproject en pak het bestand uit. U kunt ook git gebruiken om een kopie van de toepassing te downloaden naar uw ontwikkelomgeving. Het voorbeeldproject bevat een eenvoudige Node.js-toepassing.

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

Voorbeeld configureren

Als u dit voorbeeld wilt uitvoeren, moet u de referenties van uw opslagaccount toevoegen aan het .env.example-bestand en de naam vervolgens wijzigen in .env.

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

U kunt deze informatie vinden in de Azure Portal door te navigeren naar uw opslagaccount en Toegangssleutels te selecteren in de sectie Instellingen.

Installeer de vereiste afhankelijkheden door een opdrachtprompt te openen, naar de voorbeeldmap te navigeren en vervolgens in te voeren npm install.

De consoletoepassing uitvoeren

Als u het voorbeeld wilt uitvoeren, opent u een opdrachtprompt, navigeert u naar de voorbeeldmap en voert u node index.js in.

In het voorbeeld wordt een container gemaakt in uw Blob-opslagaccount, wordt HelloWorld. png in de container geüpload en wordt herhaaldelijk gecontroleerd of de container en de installatiekopie naar de secundaire regio zijn gerepliceerd. Na de replicatie wordt u gevraagd D of Q (gevolgd door Enter) in te voeren om te downloaden of af te sluiten. Uw uitvoer moet er ongeveer uitzien als de uitvoer in het volgende voorbeeld:

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

Het codevoorbeeld begrijpen

Met de Node.js V10 SDK zijn callbackhandlers overbodig. In plaats daarvan wordt in het voorbeeld een pijplijn gemaakt die is geconfigureerd met opties voor opnieuw proberen en een secundair eindpunt. Met deze configuratie kan de toepassing automatisch overschakelen naar de secundaire pijplijn als deze uw gegevens niet kan bereiken via de primaire pijplijn.

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
  }
});