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
- Azure-előfizetés – hozzon létre egyet ingyenesen
- Azure Storage-fiók – tárfiók létrehozása
- Az operációs rendszer legújabb .NET SDK-ja . Mindenképpen szerezze be az SDK-t, és ne a futtatókörnyezetet.
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:
- Tárolók listázása (REST API)
Ügyfélkódtár erőforrásai
Lásd még
Kapcsolódó tartalom
- Ez a cikk a .NET-hez készült Blob Storage fejlesztői útmutató része. További információért tekintse meg a .NET-alkalmazás buildeléséhez kapcsolódó fejlesztői útmutatók teljes listáját.