Rychlý start: Azure Blob Storage klientskou knihovnu v12 pro .NET

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

Příklady v tomto rychlém startu ukazují, jak používat klientskou knihovnu objektů Blob Storage Azure v12 pro .NET k:

Další zdroje informací:

Předpoklady

Nastavení

Tato část vás provede přípravou projektu pro práci s klientskou knihovnou objektů 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) použijte příkaz k vytvoření nové konzolové aplikace s názvem dotnet newdotnet new. Tento příkaz vytvoří jednoduchý projekt "Hello World" C# s jedním zdrojovým souborem: Program.cs.

    dotnet new console -n BlobQuickstartV12
    
  2. Přejdě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 pomocí tohoto příkazu knihovnu azure blob Storage pro balíček dotnet add package .NET.

dotnet add package Azure.Storage.Blobs

Nastavení rozhraní aplikace

Z adresáře projektu:

  1. Otevřete soubor Program.cs v editoru.

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

  3. Přidejte using směrnice.

  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 portálu Azure Portal

Když vzorová aplikace podá žádost o Azure Storage, musí být autorizována. Pokud chcete žádost autorizovat, přidejte do aplikace přihlašovací údaje úč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 portálu Azure Portal.

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

  3. V podokně nabídek účtu úložiště v části Zabezpečení + síťvyberte Přístupové klávesy. Tady můžete zobrazit přístupové klávesy účtu a úplný připojovací řetězec pro každý klíč.

    Snímek obrazovky s nastavením přístupových kláves na portálu Azure Portal

  4. V podokně Přístupové klávesy vyberte Zobrazit klávesy.

  5. V části key1 najděte hodnotu Připojovací řetězec. Pokud chcete zkopírovat připojovací řetězec, vyberte ikonu Kopírovat do schránky. Hodnotu připojovacího řetězce přidáte do proměnné prostředí v další části.

    Snímek obrazovky ukazující, jak zkopírovat připojovací řetězec z portálu Azure Portal

Konfigurace připojovacího řetězce úložiště

Po zkopírování připojovacího řetězce ho napište do nové proměnné prostředí v místním počítači, na který běží aplikace. Pokud chcete nastavit proměnnou prostředí, otevřete okno konzoly a postupujte podle pokynů pro váš operační systém. Nahraďte <yourconnectionstring> ho 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 musíte 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 číst proměnnou prostředí. Než budete pokračovat, restartujte třeba vývojové prostředí nebo editor.

Objektový model

Azure Blob Storage je optimalizovaný pro ukládání velkých objemů nestrukturovaných dat. Nestrukturovaná data jsou data, která nedodržuje konkrétní datový model nebo definici, například text 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

Následující diagram znázorňuje vztah mezi těmito prostředky.

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 umožňuje manipulovat s Azure Storage a kontejnery objektů blob.
  • BlobContainerClient:Třída umožňuje manipulovat s Azure Storage kontejnery a jejich objekty BLOB.
  • BlobClient:Třída umožňuje manipulovat s Azure Storage objekty BLOB.

Příklady kódu

Ukázky fragmentů kódu v následujících částech ukazují, jak provádět základní operace s daty v klientské knihovně objektů Blob Storage Azure 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ě.

Přidejte tento kód do Main metody:

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řidá k názvu kontejneru hodnotu GUID, aby bylo zajištěno, že je jedinečný.

Důležité:

Názvy kontejnerů musí být malá. Další informace o pojmenovávání kontejnerů a objektů BLOB najdete v tématu Pojmenování a odkazování na kontejnery, objekty BLOBa Metadata .

Vytvořte instanci třídy BlobServiceClient. Potom zavolejte metodu CreateBlobContainerAsync a vytvořte kontejner v účtu úložiště.

Přidejte tento kód na konec Main metody:

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

Upload objekt 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 oddílu 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 pokud ano, přepíše ho.

Přidejte tento kód na konec Main metody:

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

Seznam objektů BLOB v kontejneru

Seznam objektů BLOB v kontejneru voláním metody GetBlobsAsync. V tomto případě se do kontejneru přidal jenom jeden objekt blob, takže operace výpisu vrátí jenom tento objekt blob.

Přidejte tento kód na konec Main metody:

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 si dříve vytvořený objekt blob voláním metody DownloadToAsync. Příklad kódu přidá příponu "STAŽENO" k názvu souboru, abyste viděli oba soubory v místním systému souborů.

Přidejte tento kód na konec Main metody:

// 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, které aplikace vytvořila, odstraněním celého kontejneru pomocí DeleteAsync. Odstraní taky místní soubory vytvořené aplikací.

Aplikace se pozastaví pro vstup uživatele voláním, než odstraní objekt blob, kontejner a Console.ReadLine místní soubory. Je to dobrá možnost ověřit, že zdroje byly před odstraněním skutečně vytvořené správně.

Přidejte tento kód na konec Main metody:

// 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 v místní složce dat a nahraje ho do úložiště objektů Blob. V příkladu se pak zobrazí seznam objektů BLOB v kontejneru a stáhne soubor pod novým názvem, abyste mohli porovnat staré a nové soubory.

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

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ž zahájíte proces čištění, zkontrolujte, jestli v datové složce najdete dva soubory. Můžete je otevřít a pozorovat, že jsou identické.

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

Další kroky

V tomto rychlém startu jste se naučili nahrávat, stahovat a seznamovat objekty BLOB pomocí rozhraní .NET.

Pokud chcete zobrazit ukázkové aplikace úložiště objektů Blob, pokračujte takto: