Rychlý start: Klientská knihovna azure blob Storage verze 12 pro .NET

Začínáme s klientskou knihovnou Azure Blob Storage v12 pro .NET. Azure Blob Storage je řešení microsoftového úložiště objektů pro cloud. Postupujte podle pokynů k instalaci balíčku a vyzkoušejte si příklad kódu pro základní úlohy. Služba Blob Storage je optimalizovaná pro ukládání velkých objemů nestrukturovaných dat.

Příklady v tomto rychlém startu ukazují, jak pomocí klientské knihovny Azure Blob Storage v12 pro .NET:

Další prostředky:

Požadavky

Nastavení

Tato část vás provede přípravou projektu pro práci s klientskou knihovnou Azure Blob Storage v12 pro .NET.

Vytvoření projektu

Vytvořte aplikaci .NET Core s názvem BlobQuickstartV12.

  1. V okně konzoly (například cmd, PowerShell nebo Bash) pomocí příkazu vytvořte novou konzolovou aplikaci s názvem dotnet new BlobQuickstartV12. Tento příkaz vytvoří jednoduchý projekt "Hello World" jazyka C# s jedním zdrojovým souborem: Program.cs.

    dotnet new console -n BlobQuickstartV12
    
  2. Přepněte do nově vytvořeného adresáře BlobQuickstartV12.

    cd BlobQuickstartV12
    
  3. Na straně adresáře BlobQuickstartV12 vytvořte další adresář s názvem data. Tady se vytvoří a uloží datové soubory objektů blob.

    mkdir data
    

Instalace balíčku

Ještě v adresáři aplikace nainstalujte azure blob Storage knihovnu pro balíček .NET pomocí dotnet add package příkazu .

dotnet add package Azure.Storage.Blobs

Nastavení architektury aplikace

Z adresáře projektu:

  1. V editoru otevřete soubor Program.cs.

  2. Odeberte Console.WriteLine("Hello World!"); příkaz .

  3. Přidejte using direktivy.

  4. Aktualizujte Main deklaraci metody tak, aby podporovala asynchronní.

    Tady je kód:

    using Azure.Storage.Blobs;
    using Azure.Storage.Blobs.Models;
    using System;
    using System.IO;
    using System.Threading.Tasks;
    
    namespace BlobQuickstartV12
    {
        class Program
        {
            static async Task Main()
            {
            }
        }
    }
    

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:

  1. Přihlaste se k webu Azure Portal.

  2. Vyhledejte svůj účet úložiště.

  3. 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íč.

    Snímek obrazovky znázorňuje, kde se nachází nastavení přístupového klíče v Azure Portal

  4. V podokně Přístupové klíče vyberte Zobrazit klíče.

  5. 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.

    Snímek obrazovky ukazující zkopírování připojovacího řetězce z webu Azure Portal

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

Služba Azure Blob Storage 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ů.

Diagram architektury úložiště objektů blob

K interakci s těmito prostředky použijte následující třídy .NET:

  • BlobServiceClient:Třída BlobServiceClient umožňuje manipulovat s Azure Storage a kontejnery objektů blob.
  • BlobContainerClient:Třída BlobContainerClient umožňuje manipulovat s Azure Storage kontejnery a jejich objekty blob.
  • BlobClient:Třída BlobClient umožňuje manipulovat s Azure Storage objekty blob.

Příklady kódu

Fragmenty vzorového kódu v následujících částech ukazují, jak provádět základní operace s daty pomocí rozhraní Azure Blob Storage klientské knihovny pro .NET.

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 metody přidejte tento Main kód:

Console.WriteLine("Azure Blob Storage v12 - .NET quickstart sample\n");

// 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.
string connectionString = Environment.GetEnvironmentVariable("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 GUID, 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. Potom zavolejte metodu CreateBlobContainerAsync a vytvořte kontejner ve vašem účtu úložiště.

Na konec metody přidejte tento Main kód:

// Create a BlobServiceClient object which will be used to create a container client
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);

//Create a unique name for the container
string containerName = "quickstartblobs" + Guid.NewGuid().ToString();

// Create the container and return a container client object
BlobContainerClient containerClient = await blobServiceClient.CreateBlobContainerAsync(containerName);

Odeslání objektu blob do kontejneru

Následující fragment kódu:

  1. Vytvoří textový soubor v místním adresáři dat.
  2. Získá odkaz na objekt BlobClient voláním metody GetBlobClient v kontejneru z části Vytvoření kontejneru.
  3. Nahraje místní textový soubor do objektu blob voláním metody UploadAsync. Tato metoda vytvoří objekt blob, pokud ještě neexistuje, a přepíše ho, pokud už existoval.

Na konec metody přidejte tento Main kód:

// Create a local file in the ./data/ directory for uploading and downloading
string localPath = "./data/";
string fileName = "quickstart" + Guid.NewGuid().ToString() + ".txt";
string localFilePath = Path.Combine(localPath, fileName);

// Write text to the file
await File.WriteAllTextAsync(localFilePath, "Hello, World!");

// Get a reference to a blob
BlobClient blobClient = containerClient.GetBlobClient(fileName);

Console.WriteLine("Uploading to Blob storage as blob:\n\t {0}\n", blobClient.Uri);

// Upload data from the local file
await blobClient.UploadAsync(localFilePath, true);

Zobrazení seznamu objektů blob v kontejneru

Vypište objekty blob v kontejneru voláním metody GetBlobsAsync. 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 metody přidejte tento Main kód:

Console.WriteLine("Listing blobs...");

// List all blobs in the container
await foreach (BlobItem blobItem in containerClient.GetBlobsAsync())
{
    Console.WriteLine("\t" + blobItem.Name);
}

Stažení objektu blob

Stáhněte dříve vytvořený objekt blob voláním metody DownloadToAsync. Příklad kódu přidá k názvu souboru příponu STAŽENO, abyste viděli oba soubory v místním systému souborů.

Na konec metody přidejte tento Main kód:

// Download the blob to a local file
// Append the string "DOWNLOADED" before the .txt extension 
// so you can compare the files in the data directory
string downloadFilePath = localFilePath.Replace(".txt", "DOWNLOADED.txt");

Console.WriteLine("\nDownloading blob to\n\t{0}\n", downloadFilePath);

// Download the blob's contents and save it to a file
await blobClient.DownloadToAsync(downloadFilePath);

Odstranění kontejneru

Následující kód vyčistí prostředky vytvořené aplikací odstraněním celého kontejneru pomocí metody DeleteAsync. Odstraní také místní soubory vytvořené aplikací.

Aplikace se pozastaví pro vstup uživatele zavolám před odstraněním objektu Console.ReadLine blob, kontejneru a místních souborů. Je to dobrá šance ověřit, že se prostředky před odstraněním skutečně vytvořily správně.

Na konec metody přidejte tento Main kód:

// Clean up
Console.Write("Press any key to begin clean up");
Console.ReadLine();

Console.WriteLine("Deleting blob container...");
await containerClient.DeleteAsync();

Console.WriteLine("Deleting the local source and downloaded files...");
File.Delete(localFilePath);
File.Delete(downloadFilePath);

Console.WriteLine("Done");

Spuštění kódu

Tato aplikace vytvoří testovací soubor ve složce místních dat a nahraje ho do úložiště objektů blob. Příklad pak vypíše objekty blob v kontejneru a stáhne soubor s novým názvem, abyste mohli porovnat staré a nové soubory.

Přejděte do adresáře aplikace a sestavte a spusťte aplikaci.

dotnet build
dotnet run

Výstup aplikace je podobný následujícímu příkladu:

Azure Blob Storage v12 - .NET quickstart sample

Uploading to Blob storage as blob:
         https://mystorageacct.blob.core.windows.net/quickstartblobs60c70d78-8d93-43ae-954d-8322058cfd64/quickstart2fe6c5b4-7918-46cb-96f4-8c4c5cb2fd31.txt

Listing blobs...
        quickstart2fe6c5b4-7918-46cb-96f4-8c4c5cb2fd31.txt

Downloading blob to
        ./data/quickstart2fe6c5b4-7918-46cb-96f4-8c4c5cb2fd31DOWNLOADED.txt

Press any key to begin clean up
Deleting blob container...
Deleting the local source and downloaded files...
Done

Než začnete s procesem čištění, zkontrolujte, jestli složka dat obsahuje tyto dva soubory. Můžete je otevřít a podívat se, že jsou identické.

Po ověření souborů stisknutím klávesy Enter odstraňte testovací soubory a dokončete ukázku.

Další kroky

V tomto rychlém startu jste zjistili, jak nahrávat, stahovat a vypisovat objekty blob pomocí .NET.

Pokud chcete zobrazit ukázkové aplikace služby Blob Storage, pokračujte: