Hantera lagringsnivåer i appkod

Slutförd

Du kan konfigurera och hantera Azure Storage i kod. Det innebär att du kan skapa egna appar för att använda lagringsnivåer.

Med hjälp av exemplet tillverkningsföretag vill du nu planera för att skapa vissa anpassade program för att hantera dokumentationens livscykel.

I den här enheten kan du jämföra metoder för att konfigurera och hantera lagringsnivåer med hjälp av flera programmeringsmiljöer. Du behöver inte utföra något av stegen i den här lektionen. det gör du i nästa lektion.

C# (.NET)

I projektet importerar du Paketet Azure.Storage.Blobs med hjälp av NuGet.

Lägg till följande using-direktiv till koden:

using Azure;
using Azure.Storage.Blobs;
using Azure.Storage.Blobs.Models;

Med Azure SDK kan du lista alla blobar i en blobcontainer tillsammans med egenskaperna för varje blob, inklusive lagringsnivån.

Följande kod visar hur du använder GetBlobsAsync metoden på BlobClientContianer för att hämta en samling BlobItem objekt. Objektet BlobItem kapslar in egenskaperna för bloben i Azure Storage, men innehåller inte de faktiska blobdata.

AsyncPageable<BlobItem> blobItems = blobContainerClient.GetBlobsAsync();

await foreach (var blobItem in blobItems)
{
    Console.WriteLine($"Blob name {blobItem.Name}:   Tier {blobItem.Properties.AccessTier}");
}

Om du bara är intresserad av lagringsnivån för en enskild blob och känner till namnet på bloben kan du använda GetPropertiesAsync metoden för ett BlobClient objekt som returnerar blobens egenskaper, inklusive lagringsnivån.

BlobClient blobClient = blobContainerClient.GetBlobClient(blobName);

Response<BlobProperties> response = await blobClient.GetPropertiesAsync();
BlobProperties blobProperties = response.Value;
string accessTier = blobProperties.AccessTier?.ToString();

Console.WriteLine($"Blob name: {blobName}  Access tier: {accessTier}");

Om du vill ändra en blobs lagringsnivå programmatiskt använder du SetAccessTier -metoden för BlobClient klassen.

BlobClient blobClient = blobContainerClient.GetBlobClient(blobName);
blobClient.SetAccessTier(AccessTier.Cool);

REST

REST-API:et tillhandahåller åtgärden Ange blobnivå på en blockblob. Den här åtgärden är en HTTP PUT-begäran i följande format:

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tier

Parametern tier är Arkiv, Kall, Lågfrekvent eller Frekvent.

Om du vill hämta lagringsnivån för en blockblob använder du åtgärden Hämta blobegenskaper. Det här är en HTTP HEAD-begäran (innehållet i bloben returneras inte, utan endast ett svarshuvud):

https://myaccount.blob.core.windows.net/mycontainer/myblob

Svarshuvudet x-ms-access-tier anger blobens lagringsnivå.