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


Blokkblob hozzáférési szintjének beállítása vagy módosítása a .NET használatával

Ez a cikk bemutatja, hogyan állíthatja be vagy módosíthatja egy blokkblob hozzáférési szintjét 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 blob hozzáférési szintjének beállítá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 blobszint beállításával kapcsolatos engedélyezési útmutatót.

Tudnivalók a blokkblobok hozzáférési szintjeiről

A tárolási igények költségeinek kezelése érdekében hasznos lehet az adatok rendszerezése annak alapján, hogy milyen gyakran és mennyi ideig kell megőrizni azokat. Az Azure Storage különböző hozzáférési szinteket kínál, így a blobadatok a használatuktól függően a legköltséghatékonyabb módon tárolhatók.

Blobadatok hozzáférési szintjei

Az Azure Storage hozzáférési szintjei a következők:

  • Gyakori elérésű réteg – A gyakran használt vagy módosított adatok tárolására optimalizált online réteg. A gyakori elérésű réteg a legmagasabb tárolási költségekkel rendelkezik, de a legalacsonyabb hozzáférési költségekkel.
  • Ritka elérésű réteg – Olyan online réteg, amely ritkán elért vagy módosított adatok tárolására van optimalizálva. A ritka elérésű rétegben lévő adatokat legalább 30 napig kell tárolni. A ritka elérésű réteg alacsonyabb tárolási és magasabb hozzáférési költségekkel rendelkezik a gyakori elérésű szinthez képest.
  • Hideg réteg – Olyan online réteg, amely ritkán használt vagy módosított adatok tárolására van optimalizálva. A nagyon ritka elérésű szinten lévő adatokat legalább 90 napig érdemes tárolni. A nagyon ritka elérésű hozzáférési szintnek a ritka elérésű szinthez képest alacsonyabbak a tárolási és magasabbak az elérési költségei.
  • Archív szint – Olyan offline réteg, amely ritkán elérhető adatok tárolására van optimalizálva, és amely rugalmas késési követelményekkel rendelkezik az órák sorrendjében. Az archív szinten lévő adatokat legalább 180 napig kell tárolni.

A hozzáférési szintekről további információt a blobadatok hozzáférési szintjei című témakörben talál.

Bár egy blob az Archív hozzáférési szinten van, offline állapotúnak minősül, és nem olvasható és nem módosítható. Egy archivált blob adatainak olvasásához vagy módosításához először rehidratálnia kell a blobot egy online szintre. Ha többet szeretne megtudni a blobok archiválási rétegről online szintre való rehidratálásáról, tekintse meg a Blob rehidratációt az Archív szintről.

Korlátozások

A hozzáférési szint beállítása csak blokkblobokon engedélyezett. A blokkblobok hozzáférési szintjének beállítására vonatkozó korlátozásokról további információt a Blobszint beállítása (REST API) című témakörben talál.

Feljegyzés

Ha a hozzáférési szintet Cold a .NET használatára szeretné beállítani, a 12.15.0-s minimális ügyfélkódtár-verziót kell használnia.

Blob hozzáférési szintjének beállítása feltöltés közben

A blobok hozzáférési szintjét a BlobUploadOptions osztály használatával állíthatja be feltöltéskor. Az alábbi példakód bemutatja, hogyan állíthatja be a hozzáférési szintet egy blob feltöltésekor:

public static async Task UploadWithAccessTierAsync(
    BlobContainerClient containerClient,
    string localFilePath)
{
    string fileName = Path.GetFileName(localFilePath);
    BlockBlobClient blockBlobClient = containerClient.GetBlockBlobClient(fileName);

    var uploadOptions = new BlobUploadOptions()
    {
        AccessTier = AccessTier.Cool
    };

    FileStream fileStream = File.OpenRead(localFilePath);
    await blockBlobClient.UploadAsync(fileStream, uploadOptions);
    fileStream.Close();
}

Ha többet szeretne megtudni egy blob .NET-tel való feltöltéséről, olvassa el a Blob feltöltése .NET-tel című témakört.

Meglévő blokkblob hozzáférési szintjének módosítása

A meglévő blokkblobok hozzáférési szintjét az alábbi függvények egyikével módosíthatja:

Az alábbi példakód bemutatja, hogyan módosíthatja egy meglévő blob hozzáférési szintjét a következőre Cool:

public static async Task ChangeBlobAccessTierAsync(
    BlobClient blobClient)
{
    // Change the access tier of the blob to cool
    await blobClient.SetAccessTierAsync(AccessTier.Cool);
}

Ha archivált blobot rehidratál, a paramétert High igény szerint a következőre állíthatja berehydratePriority: vagy Standard.

Blob másolása másik hozzáférési szintre

A meglévő blokkblobok hozzáférési szintjét úgy módosíthatja, hogy egy másolási művelet részeként meg kell adnia egy hozzáférési szintet. A hozzáférési szint másolási művelet során történő módosításához használja a BlobCopyFromUriOptions osztályt, és adja meg az AccessTier tulajdonságot. Ha másolási művelettel rehidratál egy blobot az archív rétegből, a RehydratePriority tulajdonságot igény szerint a következőre vagy értékre StandardHigh állíthatja.

Az alábbi példakód bemutatja, hogyan hidratálhat egy archivált blobot a Hot rétegre másolási művelettel:

public static async Task RehydrateBlobUsingCopyAsync(
    BlobClient sourceArchiveBlob,
    BlobClient destinationRehydratedBlob)
{
    // Note: the destination blob must have a different name than the archived source blob

    // Configure copy options to specify hot tier and standard priority
    BlobCopyFromUriOptions copyOptions = new()
    {
        AccessTier = AccessTier.Hot,
        RehydratePriority = RehydratePriority.Standard
    };

    // Copy source blob from archive tier to destination blob in hot tier
    CopyFromUriOperation copyOperation = await destinationRehydratedBlob
        .StartCopyFromUriAsync(sourceArchiveBlob.Uri, copyOptions);
    await copyOperation.WaitForCompletionAsync();
}

Ha többet szeretne megtudni a blobok .NET-tel való másolásáról, olvassa el a Blob másolása .NET-tel című témakört.

Források

A hozzáférési szinteknek a .NET-hez készült Azure Blob Storage ügyfélkódtár használatával történő beállításával kapcsolatos további információkért tekintse meg az alábbi erőforrásokat.

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 hozzáférési szintek beállítá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

Kódminták

Lásd még