Wyświetlanie listy kontenerów obiektów blob za pomocą platformy .NET
Po wyświetleniu listy kontenerów na koncie usługi Azure Storage z poziomu kodu można określić szereg opcji zarządzania sposobem zwracania wyników z usługi Azure Storage. W tym artykule przedstawiono sposób wyświetlania listy kontenerów przy użyciu biblioteki klienta usługi Azure Storage dla platformy .NET.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz jedną bezpłatnie
- Konto usługi Azure Storage — tworzenie konta magazynu
- Najnowszy zestaw .NET SDK dla systemu operacyjnego. Pamiętaj, aby pobrać zestaw SDK, a nie środowisko uruchomieniowe.
Konfigurowanie środowiska
Jeśli nie masz istniejącego projektu, w tej sekcji pokazano, jak skonfigurować projekt do pracy z biblioteką klienta usługi Azure Blob Storage dla platformy .NET. Kroki obejmują instalację pakietu, dodawanie using
dyrektyw i tworzenie autoryzowanego obiektu klienta. Aby uzyskać szczegółowe informacje, zobacz Rozpoczynanie pracy z usługami Azure Blob Storage i .NET.
Instalowanie pakietów
Z katalogu projektu zainstaluj pakiety dla bibliotek klienta usługi Azure Blob Storage i tożsamości platformy Azure przy użyciu dotnet add package
polecenia . Pakiet Azure.Identity jest wymagany w przypadku połączeń bez hasła z usługami platformy Azure.
dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity
Dodawanie using
dyrektyw
Dodaj te using
dyrektywy na początku pliku kodu:
using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
Niektóre przykłady kodu w tym artykule mogą wymagać dodatkowych using
dyrektyw.
Tworzenie obiektu klienta
Aby połączyć aplikację z usługą Blob Storage, utwórz wystąpienie klasy BlobServiceClient. W poniższym przykładzie pokazano, jak utworzyć obiekt klienta przy użyciu DefaultAzureCredential
autoryzacji:
public BlobServiceClient GetBlobServiceClient(string accountName)
{
BlobServiceClient client = new(
new Uri($"https://{accountName}.blob.core.windows.net"),
new DefaultAzureCredential());
return client;
}
Możesz zarejestrować klienta usługi na potrzeby wstrzykiwania zależności w aplikacji .NET.
Można również tworzyć obiekty klienta dla określonych kontenerów lub obiektów blob. Aby dowiedzieć się więcej na temat tworzenia obiektów klienta i zarządzania nimi, zobacz Tworzenie obiektów klienta korzystających z zasobów danych i zarządzanie nimi.
Autoryzacja
Mechanizm autoryzacji musi mieć niezbędne uprawnienia do wyświetlania listy kontenerów obiektów blob. Aby uzyskać autoryzację przy użyciu identyfikatora Entra firmy Microsoft (zalecane), potrzebujesz wbudowanej kontroli dostępu opartej na rolach platformy Azure współautora danych obiektów blob usługi Storage lub nowszego. Aby dowiedzieć się więcej, zobacz wskazówki dotyczące autoryzacji dla kontenerów list (interfejs API REST).
Informacje o opcjach listy kontenerów
Podczas wyświetlania listy kontenerów z kodu można określić opcje zarządzania sposobem zwracania wyników z usługi Azure Storage. Możesz określić liczbę wyników, które mają być zwracane w każdym zestawie wyników, a następnie pobrać kolejne zestawy. Wyniki można również filtrować według prefiksu i zwracać metadane kontenera za pomocą wyników. Te opcje opisano w poniższych sekcjach.
Aby wyświetlić listę kontenerów na koncie magazynu, wywołaj jedną z następujących metod:
Te metody zwracają listę obiektów BlobContainerItem . Kontenery są uporządkowane leksykograficznie według nazwy.
Zarządzanie liczbą zwracanych wyników
Domyślnie operacja wyświetlania listy zwraca maksymalnie 5000 wyników jednocześnie, ale można określić liczbę wyników, które mają zostać zwrócone przez każdą operację listy. W przykładach przedstawionych w tym artykule pokazano, jak zwracać wyniki na stronach. Aby dowiedzieć się więcej na temat pojęć dotyczących stronicowania, zobacz Pagination with the Azure SDK for .NET (Stronicowanie przy użyciu zestawu Azure SDK dla platformy .NET).
Filtrowanie wyników za pomocą prefiksu
Aby filtrować listę kontenerów, określ ciąg parametru prefix
. Ciąg prefiksu może zawierać co najmniej jeden znak. Usługa Azure Storage zwraca następnie tylko kontenery, których nazwy zaczynają się od tego prefiksu.
Dołączanie metadanych kontenera
Aby uwzględnić metadane kontenera z wynikami, określ Metadata
wartość wyliczenia BlobContainerTraits . Usługa Azure Storage zawiera metadane z każdym zwróconym kontenerem, więc nie trzeba pobierać metadanych kontenera oddzielnie.
Dołączanie usuniętych kontenerów
Aby uwzględnić kontenery usunięte nietrwale z wynikami, określ Deleted
wartość wyliczenia BlobContainerStates .
Przykład kodu: Wyświetlanie listy kontenerów
W poniższym przykładzie asynchronicznie wymieniono kontenery na koncie magazynu, które zaczynają się od określonego prefiksu. W przykładzie wymieniono kontenery rozpoczynające się od określonego prefiksu i zwraca określoną liczbę wyników na wywołanie operacji wyświetlania listy. Następnie używa tokenu kontynuacji, aby uzyskać następny segment wyników. Przykład zwraca również metadane kontenera z wynikami.
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;
}
}
Zasoby
Aby dowiedzieć się więcej na temat wyświetlania listy kontenerów przy użyciu biblioteki klienta usługi Azure Blob Storage dla platformy .NET, zobacz następujące zasoby.
Operacje interfejsu API REST
Zestaw Azure SDK dla platformy .NET zawiera biblioteki, które są oparte na interfejsie API REST platformy Azure, co umożliwia interakcję z operacjami interfejsu API REST za pomocą znanych paradygmatów platformy .NET. Metody biblioteki klienta do wyświetlania listy kontenerów używają następującej operacji interfejsu API REST:
- Wyświetlanie listy kontenerów (interfejs API REST)
Zasoby biblioteki klienta
Zobacz też
Powiązana zawartość
- Ten artykuł jest częścią przewodnika dla deweloperów usługi Blob Storage dla platformy .NET. Aby dowiedzieć się więcej, zobacz pełną listę artykułów z przewodnika dla deweloperów w temacie Tworzenie aplikacji platformy .NET.