Výpis kontejnerů objektů blob pomocí .NET
Když vypíšete kontejnery v účtu Azure Storage z kódu, můžete zadat řadu možností pro správu způsobu vrácení výsledků ze služby Azure Storage. Tento článek ukazuje, jak vypsat kontejnery pomocí klientské knihovny Azure Storage pro .NET.
Požadavky
- Předplatné Azure – vytvoření bezplatného předplatného
- Účet úložiště Azure – Vytvoření účtu úložiště
- Nejnovější sada .NET SDK pro váš operační systém Nezapomeňte získat sadu SDK a ne modul runtime.
Nastavení prostředí
Pokud nemáte existující projekt, v této části se dozvíte, jak nastavit projekt pro práci s klientskou knihovnou Azure Blob Storage pro .NET. Kroky zahrnují instalaci balíčku, přidání using
direktiv a vytvoření autorizovaného objektu klienta. Podrobnosti najdete v tématu Začínáme se službou Azure Blob Storage a .NET.
Instalace balíčků
Z adresáře projektu nainstalujte balíčky pro klientské knihovny Azure Blob Storage a Azure Identity pomocí dotnet add package
příkazu. Balíček Azure.Identity je potřeba pro připojení bez hesla ke službám Azure.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Přidání using
direktiv
Na začátek souboru kódu přidejte tyto using
direktivy:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Některé příklady kódu v tomto článku mohou vyžadovat další using
direktivy.
Vytvoření objektu klienta
Pokud chcete připojit aplikaci ke službě Blob Storage, vytvořte instanci BlobServiceClient. Následující příklad ukazuje, jak vytvořit objekt klienta pro DefaultAzureCredential
autorizaci:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Klienta služby můžete zaregistrovat pro injektáž závislostí v aplikaci .NET.
Můžete také vytvořit klientské objekty pro konkrétní kontejnery nebo objekty blob. Další informace o vytváření a správě klientských objektů najdete v tématu Vytváření a správa klientských objektů, které pracují s datovými prostředky.
Autorizace
Autorizační mechanismus musí mít potřebná oprávnění k výpisu kontejnerů objektů blob. K autorizaci pomocí Microsoft Entra ID (doporučeno) potřebujete předdefinovanou roli Přispěvatel dat objektů blob služby Azure RBAC nebo vyšší. Další informace najdete v pokynech k autorizaci pro seznam kontejnerů (REST API).
O možnostech výpisu kontejnerů
Při výpisu kontejnerů z kódu můžete zadat možnosti pro správu způsobu vrácení výsledků ze služby Azure Storage. Můžete zadat počet výsledků, které se mají vrátit v každé sadě výsledků, a pak načíst následující sady. Výsledky můžete také filtrovat podle předpony a vrátit metadata kontejneru s výsledky. Tyto možnosti jsou popsány v následujících částech.
Pokud chcete vypsat kontejnery v účtu úložiště, zavolejte jednu z následujících metod:
Tyto metody vrátí seznam objektů BlobContainerItem . Kontejnery jsou seřazené lexicicky podle názvu.
Správa počtu vrácených výsledků
Ve výchozím nastavení vrátí operace výpisu najednou až 5 000 výsledků, ale můžete zadat počet výsledků, které má každá operace výpisu vrátit. Příklady uvedené v tomto článku ukazují, jak vrátit výsledky na stránkách. Další informace o konceptech stránkování najdete v tématu Stránkování pomocí sady Azure SDK pro .NET.
Filtrování výsledků pomocí předpony
Pokud chcete filtrovat seznam kontejnerů, zadejte řetězec pro prefix
parametr. Řetězec předpony může obsahovat jeden nebo více znaků. Azure Storage pak vrátí pouze kontejnery, jejichž názvy začínají danou předponou.
Zahrnout metadata kontejneru
Pokud chcete do výsledků zahrnout metadata kontejneru, zadejte Metadata
hodnotu pro výčet BlobContainerTraits . Azure Storage obsahuje metadata s každým vráceným kontejnerem, takže metadata kontejneru nemusíte načítat samostatně.
Zahrnutí odstraněných kontejnerů
Pokud chcete zahrnout obnovitelné odstraněné kontejnery s výsledky, zadejte Deleted
hodnotu pro výčet BlobContainerStates .
Příklad kódu: Výpis kontejnerů
Následující příklad asynchronně vypíše kontejnery v účtu úložiště, které začínají zadanou předponou. V příkladu jsou uvedeny kontejnery, které začínají zadanou předponou a vrátí zadaný počet výsledků na volání operace výpisu. Potom pomocí tokenu pokračování získá další segment výsledků. Příklad také vrátí metadata kontejneru s výsledky.
async static Task ListContainers(BlobServiceClient blobServiceClient,
string prefix,
int? segmentSize)
{
try
{
// Call the listing operation and enumerate the result segment.
var resultSegment =
blobServiceClient.GetBlobContainersAsync(BlobContainerTraits.Metadata, prefix, default)
.AsPages(default, segmentSize);
await foreach (Azure.Page<BlobContainerItem> containerPage in resultSegment)
{
foreach (BlobContainerItem containerItem in containerPage.Values)
{
Console.WriteLine("Container name: {0}", containerItem.Name);
}
Console.WriteLine();
}
}
catch (RequestFailedException e)
{
Console.WriteLine(e.Message);
Console.ReadLine();
throw;
}
}
Zdroje informací
Další informace o výpisu kontejnerů pomocí klientské knihovny Azure Blob Storage pro .NET najdete v následujících zdrojích informací.
Operace rozhraní REST API
Sada Azure SDK pro .NET obsahuje knihovny, které jsou postavené na rozhraní Azure REST API a umožňují interakci s operacemi rozhraní REST API prostřednictvím známých paradigmat .NET. Metody klientské knihovny pro výpis kontejnerů používají následující operaci rozhraní REST API:
- Výpis kontejnerů (REST API)
Prostředky klientské knihovny
Viz také
Související obsah
- Tento článek je součástí příručky pro vývojáře služby Blob Storage pro .NET. Další informace najdete v úplném seznamu článků příručky pro vývojáře na webu Sestavení aplikace .NET.