Snabbstart: Hantera blobar med JavaScript v12 SDK i Node.js
I den här snabbstarten lär du dig att hantera blobar med hjälp av Node.js. Blobar är objekt som kan innehålla stora mängder text eller binära data, inklusive bilder, dokument, strömmande media och arkivdata. Du laddar upp, laddar ned och listar blobar och skapar och tar bort containrar.
Ytterligare resurser:
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Ett Azure Storage-konto. Skapa ett lagringskonto.
- Node.js.
Inrätta
Det här avsnittet går igenom hur du förbereder ett projekt för att arbeta med Azure Blob Storage-klientbiblioteket v12 för JavaScript.
Skapa projektet
Skapa ett JavaScript-program med namnet blob-quickstart-v12.
I ett konsolfönster (till exempel cmd, PowerShell eller Bash) skapar du en ny katalog för projektet.
mkdir blob-quickstart-v12Växla till den nyligen skapade katalogen blob-quickstart-v12.
cd blob-quickstart-v12Skapa en ny textfil med namnet package.json. Den här filen definierar Node.js projekt. Spara filen i katalogen blob-quickstart-v12. Här är innehållet i filen:
{ "name": "blob-quickstart-v12", "version": "1.0.0", "description": "Use the @azure/storage-blob SDK version 12 to interact with Azure Blob storage", "main": "blob-quickstart-v12.js", "scripts": { "start": "node blob-quickstart-v12.js" }, "author": "Your Name", "license": "MIT", "dependencies": { "@azure/storage-blob": "^12.0.0", "@types/dotenv": "^4.0.3", "dotenv": "^6.0.0" } }Du kan ange ditt eget namn i
authorför fältet om du vill.
Installera paketet
När du fortfarande är i katalogen blob-quickstart-v12 installerar du Azure Blob Storage-klientbiblioteket för JavaScript-paketet med hjälp av npm install kommandot . Det här kommandot läser filen package.json och installerar Azure Blob Storage-klientbiblioteket v12 för JavaScript-paketet och alla bibliotek som det är beroende av.
npm install
Konfigurera appramverket
Från projektkatalogen:
Öppna en ny textfil i kodredigeraren
Lägga
requiretill anrop för att läsa in Azure Node.js modulerSkapa strukturen för programmet, inklusive grundläggande undantagshantering
Här är koden:
const { BlobServiceClient } = require('@azure/storage-blob'); const { v1: uuidv1} = require('uuid'); 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));Spara den nya filen blob-quickstart-v12.js i katalogen blob-quickstart-v12.
Kopiera dina autentiseringsuppgifter från Azure-portalen
När exempelprogrammet gör en begäran till Azure Storage måste det auktoriserats. Om du vill auktorisera en begäran lägger du till autentiseringsuppgifterna för ditt lagringskonto i programmet som en anslutningssträng. Följ dessa steg om du vill visa autentiseringsuppgifterna för ditt lagringskonto:
Logga in på Azure-portalen.
Leta rätt på ditt lagringskonto.
I menyfönstret för lagringskontot går du till Säkerhet + nätverk och väljer Åtkomstnycklar. Här kan du visa kontoåtkomstnycklarna och den fullständiga anslutningssträngen för varje nyckel.

I fönstret Åtkomstnycklar väljer du Visa nycklar.
Leta upp värdet för Anslutningssträng i avsnittet key1. Välj ikonen Kopiera till Urklipp för att kopiera anslutningssträngen. Du lägger till anslutningssträngens värde i en miljövariabel i nästa avsnitt.

Konfigurera anslutningssträngen för lagring
När du har kopierat anslutningssträngen skriver du den till en ny miljövariabel på den lokala dator som kör programmet. Konfigurera miljövariabeln genom att öppna ett konsolfönster och följa anvisningarna för ditt operativsystem. Ersätt <yourconnectionstring> med den faktiska anslutningssträngen.
Windows
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
När du har lagt till miljövariabeln i Windows måste du starta en ny instans av kommandofönstret.
Linux
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
macOS
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
Starta om program
När du har lagt till miljövariabeln startar du om alla program som körs och behöver läsa miljövariabeln. Du kan till exempel starta om utvecklingsmiljön eller redigeringsredigeraren innan du fortsätter.
Objektmodell
Azure Blob Storage är optimerat för att lagra enorma mängder ostrukturerade data. Ostrukturerade data är data som inte följer en viss datamodell eller definition, till exempel text eller binära data. I blobblagringen finns tre typer av resurser:
- Lagringskontot
- En container på lagringskontot
- En blob i containern
Följande diagram visar relationen mellan de här resurserna.

Använd följande JavaScript-klasser för att interagera med dessa resurser:
- BlobServiceClient:Med
BlobServiceClientklassen kan du ändra Azure Storage och blobcontainrar. - ContainerClient:Med
ContainerClientklassen kan du ändra Azure Storage och deras blobar. - BlobClient:Med
BlobClientklassen kan du ändra Azure Storage blobar.
Kodexempel
De här exempelkodfragmenten visar hur du utför följande med Azure Blob Storage-klientbiblioteket för JavaScript:
- Hämta anslutningssträngen
- Skapa en container
- Upload blobar till en container
- Visa blobar i en container
- Ladda ned blobbar
- Ta bort en container
Hämta anslutningssträngen
Koden nedan hämtar anslutningssträngen för lagringskontot från miljövariabeln som skapades i avsnittet Konfigurera lagringsanslutningssträngen.
Lägg till den här koden i main funktionen:
// Retrieve the connection string for use with the application. The storage
// connection string is stored in an environment variable on the machine
// running the application called AZURE_STORAGE_CONNECTION_STRING. If the
// environment variable is created after the application is launched in a
// console or with Visual Studio, the shell or application needs to be closed
// and reloaded to take the environment variable into account.
const AZURE_STORAGE_CONNECTION_STRING = process.env.AZURE_STORAGE_CONNECTION_STRING;
Skapa en container
Bestäm ett namn för den nya containern. Koden nedan lägger till ett UUID-värde i containernamnet för att säkerställa att det är unikt.
Viktigt
Containernamn måste använda gemener. Mer information om namngivning av containrar och blobar finns i Namngivning och referens av containrar, blobar och metadata.
Skapa en instans av klassen BlobServiceClient genom att anropa metoden fromConnectionString. Anropa sedan metoden getContainerClient för att hämta en referens till en container. Anropa slutligen skapa för att skapa containern i ditt lagringskonto.
Lägg till den här koden i slutet av main funktionen:
// 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);
Upload blobar till en container
Följande kodfragment:
- Skapar en textsträng som ska laddas upp till en blob.
- Hämtar en referens till ett BlockBlobClient-objekt genom att anropa metoden getBlockBlobClient i ContainerClient från avsnittet Skapa en container.
- Laddar upp textsträngsdata till bloben genom att anropa uppladdningsmetoden.
Lägg till den här koden i slutet av main funktionen:
// 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);
Visa blobar i en container
Visa en lista över blobarna i containern genom att anropa metoden listBlobsFlat. I det här fallet har endast en blob lagts till i containern, så liståtgärden returnerar bara den bloben.
Lägg till den här koden i slutet av main funktionen:
console.log('\nListing blobs...');
// List the blob(s) in the container.
for await (const blob of containerClient.listBlobsFlat()) {
console.log('\t', blob.name);
}
Ladda ned blobbar
Ladda ned bloben som du skapade tidigare genom att anropa nedladdningsmetoden. Exempelkoden innehåller en hjälpfunktion med namnet , som används för att läsa en streamToString Node.js dataström till en sträng.
Lägg till den här koden i slutet av main funktionen:
// 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 streamToString(downloadBlockBlobResponse.readableStreamBody));
Lägg till den här hjälpfunktionen efter main funktionen:
// A helper function used to read a Node.js readable stream into a string
async function streamToString(readableStream) {
return new Promise((resolve, reject) => {
const chunks = [];
readableStream.on("data", (data) => {
chunks.push(data.toString());
});
readableStream.on("end", () => {
resolve(chunks.join(""));
});
readableStream.on("error", reject);
});
}
Ta bort en container
Följande kod rensar resurserna som appen skapade genom att ta bort hela containern med hjälp av delete-metoden. Du kan också ta bort de lokala filerna om du vill.
Lägg till den här koden i slutet av main funktionen:
console.log('\nDeleting container...');
// Delete container
const deleteContainerResponse = await containerClient.delete();
console.log("Container was deleted successfully. requestId: ", deleteContainerResponse.requestId);
Kör koden
Den här appen skapar en textsträng och laddar upp den till Blob Storage. Exemplet visar sedan blobarna i containern, laddar ned bloben och visar nedladdade data.
Från en konsoluppfråga navigerar du till katalogen somblob-quickstart-v12.js filen och kör sedan följande kommando för att node köra appen.
node blob-quickstart-v12.js
Appens utdata liknar följande exempel:
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
Gå igenom koden i felsökningsprogrammet och kontrollera Azure Portal under hela processen. Kontrollera att containern skapas. Du kan öppna bloben i containern och visa innehållet.
Nästa steg
I den här snabbstarten har du lärt dig hur du laddar upp, laddar ned och listar blobar med JavaScript.
Självstudier, exempel, snabbstarter och annan dokumentation finns här:
- Information om hur du distribuerar en webbapp som använder Azure Blob Storage finns i Självstudie: Upload avbildningsdata i molnet med Azure Storage
- Om du vill se Blob Storage-exempelappar fortsätter du till Azure Blob Storage-klientbiblioteket v12 JavaScript-exempel.
- Mer information finns i Azure Blob Storage-klientbiblioteket för JavaScript.