Dela via


Lista blobcontainrar med .NET

När du listar containrarna i ett Azure Storage-konto från koden kan du ange ett antal alternativ för att hantera hur resultatet returneras från Azure Storage. Den här artikeln visar hur du listar containrar med hjälp av Azure Storage-klientbiblioteket för .NET.

Förutsättningar

  • Den här artikeln förutsätter att du redan har ett projekt konfigurerat för att fungera med Azure Blob Storage-klientbiblioteket för .NET. Mer information om hur du konfigurerar projektet, inklusive paketinstallation, tillägg using av direktiv och skapande av ett auktoriserat klientobjekt finns i Kom igång med Azure Blob Storage och .NET.
  • Auktoriseringsmekanismen måste ha behörighet att lista blobcontainrar. Mer information finns i auktoriseringsvägledningen för följande REST API-åtgärd:

Om alternativ för containerlistning

När du listar containrar från koden kan du ange alternativ för att hantera hur resultatet returneras från Azure Storage. Du kan ange hur många resultat som ska returneras i varje resultatuppsättning och sedan hämta efterföljande uppsättningar. Du kan också filtrera resultatet efter ett prefix och returnera containermetadata med resultatet. De här alternativen beskrivs i följande avsnitt.

Om du vill visa containrar i ditt lagringskonto anropar du någon av följande metoder:

Dessa metoder returnerar en lista över BlobContainerItem-objekt . Containrar beställs lexicographically efter namn.

Hantera hur många resultat som returneras

Som standard returnerar en liståtgärd upp till 5 000 resultat åt gången, men du kan ange antalet resultat som du vill att varje listningsåtgärd ska returnera. Exemplen som presenteras i den här artikeln visar hur du returnerar resultat på sidor. Mer information om sidnumreringsbegrepp finns i Sidnumrering med Azure SDK för .NET.

Filtrera resultat med ett prefix

Om du vill filtrera listan över containrar anger du en sträng för parametern prefix . Prefixsträngen kan innehålla ett eller flera tecken. Azure Storage returnerar sedan endast de containrar vars namn börjar med prefixet.

Inkludera containermetadata

Om du vill inkludera containermetadata med resultatet anger du Metadata värdet för BlobContainerTraits-uppräkningen . Azure Storage innehåller metadata för varje container som returneras, så du behöver inte hämta containermetadata separat.

Inkludera borttagna containrar

Om du vill inkludera mjuk borttagna containrar med resultatet anger du Deleted värdet för BlobContainerStates-uppräkningen .

Kodexempel: Lista containrar

I följande exempel visas asynkront containrarna i ett lagringskonto som börjar med ett angivet prefix. I exemplet visas containrar som börjar med det angivna prefixet och returnerar det angivna antalet resultat per anrop till liståtgärden. Den använder sedan fortsättningstoken för att hämta nästa resultatsegment. Exemplet returnerar även containermetadata med resultatet.

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;
    }
}

Resurser

Mer information om hur du listar containrar med hjälp av Azure Blob Storage-klientbiblioteket för .NET finns i följande resurser.

REST API-åtgärder

Azure SDK för .NET innehåller bibliotek som bygger på Azure REST API, så att du kan interagera med REST API-åtgärder via välbekanta .NET-paradigm. Klientbiblioteksmetoderna för att visa containrar använder följande REST API-åtgärd:

Klientbiblioteksresurser

Se även