Megosztás a következőn keresztül:


Blobtárolók listázása .NET-tel

Ha egy Azure Storage-fiókban lévő tárolókat listáz a kódból, több lehetőséget is megadhat az eredmények Azure Storage-ból való visszaadásának kezelésére. Ez a cikk bemutatja, hogyan listázhatja a tárolókat a .NET-hez készült Azure Storage ügyfélkódtár használatával.

Előfeltételek

Saját környezet beállítása

Ha nem rendelkezik meglévő projekttel, ez a szakasz bemutatja, hogyan állíthat be projektet a .NET-hez készült Azure Blob Storage ügyfélkódtár használatához. A lépések közé tartozik a csomagtelepítés, az irányelvek hozzáadása using és egy engedélyezett ügyfélobjektum létrehozása. További részletekért tekintse meg az Azure Blob Storage és a .NET használatának első lépéseit.

Csomagok telepítése

A projektkönyvtárból telepítse az Azure Blob Storage- és Az Azure Identity-ügyfélkódtárak csomagjait a dotnet add package paranccsal. Az Azure.Identity-csomagra az Azure-szolgáltatásokhoz való jelszó nélküli kapcsolatokhoz van szükség.

dotnet add package Azure.Storage.Blobs
dotnet add package Azure.Identity

Irányelvek hozzáadása using

Adja hozzá ezeket az using irányelveket a kódfájl elejéhez:

using Azure.Identity;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;

A cikkben szereplő néhány példakód további using irányelveket igényelhet.

Ügyfélobjektum létrehozása

Ha egy alkalmazást a Blob Storage-hoz szeretne csatlakoztatni, hozzon létre egy BlobServiceClient-példányt. Az alábbi példa bemutatja, hogyan hozhat létre ügyfélobjektumot DefaultAzureCredential engedélyezés céljából:

public BlobServiceClient GetBlobServiceClient(string accountName)
{
    BlobServiceClient client = new(
        new Uri($"https://{accountName}.blob.core.windows.net"),
        new DefaultAzureCredential());

    return client;
}

A szolgáltatásügyfél regisztrálható a függőséginjektáláshoz egy .NET-alkalmazásban.

Ügyfélobjektumokat is létrehozhat adott tárolókhoz vagy blobokhoz. Az ügyfélobjektumok létrehozásáról és kezeléséről további információt az adaterőforrásokat kezelő ügyfélobjektumok létrehozása és kezelése című témakörben talál.

Engedélyezés

Az engedélyezési mechanizmusnak rendelkeznie kell a blobtárolók listázásához szükséges engedélyekkel. A Microsoft Entra-azonosítóval való engedélyezéshez (ajánlott) az Azure RBAC beépített szerepkörű Storage Blob Data Közreműködő vagy újabb szerepkörre van szüksége. További információkért tekintse meg a List Containers (REST API) engedélyezési útmutatóját.

Tudnivalók a tárolólista beállításairól

Ha tárolókat listáz a kódból, megadhatja az eredmények Azure Storage-ból való visszaadására vonatkozó beállításokat. Megadhatja az egyes találathalmazokban visszaadandó eredmények számát, majd lekérheti a következő halmazokat. Az eredményeket előtaggal is szűrheti, és a tároló metaadatait is visszaadhatja az eredményekkel. Ezeket a lehetőségeket a következő szakaszok ismertetik.

A tárfiók tárolóinak listázásához hívja meg az alábbi módszerek egyikét:

Ezek a metódusok a BlobContainerItem objektumok listáját adja vissza. A tárolók név szerint vannak lexikális sorrendben rendezve.

Az eredmény visszaadott értékének kezelése

Alapértelmezés szerint egy listaelem-művelet egyszerre legfeljebb 5000 eredményt ad vissza, de megadhatja, hogy hány találatot szeretne visszaadni az egyes listaműveleteknek. A cikkben bemutatott példák bemutatják, hogyan adhat vissza eredményeket a lapokban. A lapozási fogalmakkal kapcsolatos további információkért lásd : Pagination with the Azure SDK for .NET.

Eredmények szűrése előtaggal

A tárolók listájának szűréséhez adjon meg egy sztringet a prefix paraméterhez. Az előtag sztringje egy vagy több karaktert tartalmazhat. Az Azure Storage ezután csak azokat a tárolókat adja vissza, amelyeknek a neve ezzel az előtaggal kezdődik.

Tároló metaadatainak belefoglalása

A tároló metaadatainak az eredményekkel való hozzáadásához adja meg a Metadata BlobContainerTraits szám értékét. Az Azure Storage minden visszaadott tárolóhoz tartalmaz metaadatokat, így nem kell külön lekérnie a tároló metaadatait.

Törölt tárolók belefoglalása

A helyreállíthatóan törölt tárolók eredményekkel való hozzáadásához adja meg a Deleted BlobContainerStates enumerálás értékét.

Példa kódra: Tárolók listázása

Az alábbi példa aszinkron módon felsorolja a tárfiókban lévő tárolókat, amelyek egy megadott előtaggal kezdődnek. A példa felsorolja azokat a tárolókat, amelyek a megadott előtaggal kezdődnek, és a listázási műveletre irányuló hívásonként megadott számú eredményt adnak vissza. Ezután a folytatási jogkivonatot használja az eredmények következő szegmensének lekéréséhez. A példa a tároló metaadatait is visszaadja az eredményekkel együtt.

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

Források

A tárolók .NET-hez készült Azure Blob Storage-ügyfélkódtár használatával történő listázásáról az alábbi forrásokban olvashat bővebben.

REST API-műveletek

A .NET-hez készült Azure SDK olyan kódtárakat tartalmaz, amelyek az Azure REST API-ra épülnek, lehetővé téve a REST API-műveletek használatát ismerős .NET-paradigmákon keresztül. A tárolók listázásához használt ügyfélkódtár-metódusok a következő REST API-műveletet használják:

Ügyfélkódtár erőforrásai

Lásd még