Rychlý start: Správa objektů blob pomocí sady JavaScript v12 SDK v Node.js
V tomto rychlém startu se naučíte spravovat objekty blob pomocí Node.js. Objekty blob jsou objekty, které mohou obsahovat velké objemy textových nebo binárních dat, včetně obrázků, dokumentů, streamovaných médií a archivních dat. Budete nahrávat, stahovat a vy listovat objekty blob a vytvářet a odstraňovat kontejnery.
Další prostředky:
Požadavky
- Účet Azure s aktivním předplatným. Vytvořte si účet zdarma.
- Účet služby Azure Storage. Vytvořte účet úložiště.
- Node.js.
Nastavení
Tato část vás provede přípravou projektu pro práci s klientskou knihovnou Azure Blob Storage v12 pro JavaScript.
Vytvoření projektu
Vytvořte javascriptovou aplikaci s názvem blob-quickstart-v12.
V okně konzoly (například cmd, PowerShell nebo Bash) vytvořte nový adresář pro projekt.
mkdir blob-quickstart-v12Přepněte do nově vytvořeného adresáře blob-quickstart-v12.
cd blob-quickstart-v12Vytvořte nový textový soubor s názvem package.json. Tento soubor definuje Node.js projektu. Uložte tento soubor do adresáře blob-quickstart-v12. Zde je obsah souboru:
{ "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" } }Pokud chcete, můžete do pole dejte vlastní
authornázev.
Instalace balíčku
V adresáři blob-quickstart-v12 nainstalujte pomocí příkazu klientskou knihovnu Azure Blob Storage pro balíček npm install JavaScriptu. Tento příkaz přečte soubor package.json a nainstaluje balíček klientské knihovny Azure Blob Storage v12 pro JavaScript a všechny knihovny, na kterých závisí.
npm install
Nastavení architektury aplikace
Z adresáře projektu:
Otevření dalšího nového textového souboru v editoru kódu
Přidání
requirevolání pro načtení Azure a Node.js modulůVytvoření struktury pro program, včetně základního zpracování výjimek
Tady je kód:
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));Uložte nový soubor jakoblob-quickstart-v12.js v adresáři blob-quickstart-v12.
Zkopírování přihlašovacích údajů z webu Azure Portal
Když ukázková aplikace vytvoří požadavek na Azure Storage, musí být autorizována. Pokud chcete požadavek autorizovat, přidejte do aplikace přihlašovací údaje svého účtu úložiště jako připojovací řetězec. Pokud chcete zobrazit přihlašovací údaje účtu úložiště, postupujte takto:
Přihlaste se k webu Azure Portal.
Vyhledejte svůj účet úložiště.
V podokně nabídek účtu úložiště v části Zabezpečení a sítě vyberte Přístupové klíče. Tady můžete zobrazit přístupové klíče účtu a úplný připojovací řetězec pro každý klíč.

V podokně Přístupové klíče vyberte Zobrazit klíče.
V části key1 vyhledejte hodnotu Připojovací řetězec. Vyberte ikonu Zkopírovat do schránky a zkopírujte připojovací řetězec. Hodnotu připojovacího řetězce přidáte do proměnné prostředí v další části.

Konfigurace připojovacího řetězce úložiště
Po zkopírování připojovacího řetězce ho zapište do nové proměnné prostředí na místním počítači, na který běží aplikace. Proměnnou prostředí nastavíte tak, že otevřete okno konzoly a budete postupovat podle pokynů pro váš operační systém. Nahraďte <yourconnectionstring> skutečným připojovacím řetězcem.
Windows
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
Po přidání proměnné prostředí v Windows, je nutné spustit novou instanci příkazového okna.
Linux
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
macOS
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
Restartování programů
Po přidání proměnné prostředí restartujte všechny spuštěné programy, které budou muset proměnnou prostředí přečíst. Před pokračováním například restartujte vývojové prostředí nebo editor.
Objektový model
Azure Blob Storage je optimalizované pro ukládání velkých objemů nestrukturovaných dat. Jde o data, která nevyhovují konkrétnímu datovému modelu nebo definici, například textová nebo binární data. Úložiště objektů blob nabízí tři typy prostředků:
- Účet úložiště
- Kontejner v účtu úložiště
- Objekt blob v kontejneru
Na následujícím diagramu jsou vztahy těchto prostředků.

K interakci s těmito prostředky použijte následující třídy JavaScriptu:
- BlobServiceClient:Třída
BlobServiceClientumožňuje manipulovat s Azure Storage a kontejnery objektů blob. - ContainerClient:Třída
ContainerClientumožňuje manipulovat s kontejnery Azure Storage jejich objekty blob. - BlobClient:Třída
BlobClientumožňuje manipulovat s Azure Storage objekty blob.
Příklady kódu
Tyto příklady fragmentů kódu ukazují, jak pomocí klientské knihovny Azure Blob Storage pro JavaScript provádět následující akce:
- Získání připojovacího řetězce
- Vytvoření kontejneru
- Upload objektů blob do kontejneru
- Seznam objektů blob v kontejneru
- Stáhnout objekty blob
- Odstranění kontejneru
Získání připojovacího řetězce
Následující kód načte připojovací řetězec pro účet úložiště z proměnné prostředí vytvořené v části Konfigurace připojovacího řetězce úložiště.
Do funkce přidejte main tento kód:
// 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;
Vytvoření kontejneru
Rozhodněte se o názvu nového kontejneru. Následující kód připojí k názvu kontejneru hodnotu UUID, aby se zajistilo, že bude jedinečný.
Důležité
Názvy kontejnerů musí být malými písmeny. Další informace o pojmenování kontejnerů a objektů blob najdete v tématu Názvy kontejnerů, objektů blob a metadat a odkazování na ně.
Vytvořte instanci třídy BlobServiceClient voláním metody fromConnectionString. Potom zavolejte metodu getContainerClient a získejte odkaz na kontejner. Nakonec zavolejte create, aby se kontejner ve vašem účtu úložiště skutečně vytvořil.
Na konec funkce přidejte main tento kód:
// 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 objektů blob do kontejneru
Následující fragment kódu:
- Vytvoří textový řetězec pro nahrání do objektu blob.
- Získá odkaz na objekt BlockBlobClient voláním metody getBlockBlobClient pro ContainerClient z části Vytvoření kontejneru.
- Nahraje data textového řetězce do objektu blob voláním metody upload.
Na konec funkce přidejte main tento kód:
// 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);
Seznam objektů blob v kontejneru
Vypište objekty blob v kontejneru voláním metody listBlobsFlat. V tomto případě se do kontejneru přidal pouze jeden objekt blob, takže operace výpisu vrátí pouze tento jeden objekt blob.
Na konec funkce přidejte main tento kód:
console.log('\nListing blobs...');
// List the blob(s) in the container.
for await (const blob of containerClient.listBlobsFlat()) {
console.log('\t', blob.name);
}
Stáhnout objekty blob
Stáhněte dříve vytvořený objekt blob voláním metody download. Příklad kódu obsahuje pomocnou funkci s názvem , která se používá ke čtení streamToString Node.js čitelného datového proudu do řetězce.
Na konec funkce přidejte main tento kód:
// 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));
Za funkci přidejte tuto pomocou main funkci:
// 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);
});
}
Odstranění kontejneru
Následující kód vyčistí prostředky vytvořené aplikací odebráním celého kontejneru pomocí metody delete. Pokud chcete, můžete také odstranit místní soubory.
Na konec funkce přidejte main tento kód:
console.log('\nDeleting container...');
// Delete container
const deleteContainerResponse = await containerClient.delete();
console.log("Container was deleted successfully. requestId: ", deleteContainerResponse.requestId);
Spuštění kódu
Tato aplikace vytvoří textový řetězec a nahraje ho do úložiště objektů blob. Příklad pak vypíše objekty blob v kontejneru, stáhne objekt blob a zobrazí stažená data.
Z příkazového řádku konzoly přejděte do adresáře obsahujícího souborblob-quickstart-v12.js a spusťte aplikaci node spuštěním následujícího příkazu.
node blob-quickstart-v12.js
Výstup aplikace je podobný následujícímu příkladu:
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
Krokování kódu v ladicím programu a kontrola Azure Portal procesu. Zkontrolujte, že se kontejner vytváří. Objekt blob můžete otevřít uvnitř kontejneru a zobrazit jeho obsah.
Další kroky
V tomto rychlém startu jste zjistili, jak nahrávat, stahovat a vypisovat objekty BLOB pomocí JavaScriptu.
Výukové programy, ukázky, rychlé starty a další dokumentaci najdete na webu:
- informace o tom, jak nasadit webovou aplikaci, která využívá úložiště objektů Blob v Azure, najdete v tématu kurz: Upload obrazová data v cloudu s Azure Storage
- Ukázková aplikace služby Blob Storage najdete v ukázkách V12 JavaScriptu v klientské knihovně pro úložiště objektů BLOB v Azure.
- Další informace najdete v tématu Klientská knihovna pro úložiště objektů BLOB v Azure pro JavaScript.