Gérer le stockage à plusieurs niveaux dans le code d’application

Effectué

Vous pouvez configurer et gérer le stockage Azure dans un code. Cela signifie que vous pouvez créer vos propres applications pour tirer parti des niveaux de stockage.

Avec notre exemple d’entreprise manufacturière, vous aimeriez maintenant planifier la création d’applications personnalisées pour gérer le cycle de vie de votre documentation.

Dans cette unité, vous allez comparer les méthodes de configuration et de gestion des niveaux de stockage à l’aide de différents environnements de programmation. Vous n’avez besoin d’exécuter aucune des étapes de cette leçon. Vous allez le faire dans la leçon suivante.

C# (.NET)

Dans votre projet, importez le package Azure.Storage.Blobs à l’aide de NuGet.

Ajoutez les directives using suivantes à votre code :

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

Le kit de développement logiciel (SDK) Azure vous permet de répertorier tous les objets blob présents dans un conteneur d’objets blob, ainsi que les propriétés de chaque objet blob, notamment le niveau de stockage.

Le code suivant montre comment utiliser la méthode GetBlobsAsync sur BlobClientContianer pour obtenir une collection d’objets BlobItem. L’objet BlobItem encapsule les propriétés de l’objet blob dans le stockage Azure, mais ne contient pas les données réelles de l’objet blob.

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

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

Si vous vous intéressez uniquement au niveau de stockage d’un unique objet blob et vous connaissez le nom de cet objet blob, vous pouvez utiliser la méthode GetPropertiesAsync sur un objet BlobClient qui retourne les propriétés de l’objet blob, notamment le niveau de stockage.

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

Pour modifier le niveau de stockage d’un objet blob par programmation, utilisez la méthode SetAccessTier sur la classe BlobClient.

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

REST

L’API REST fournit l’opération Set Blob Tier sur un objet blob de blocs. Cette opération est une requête HTTP PUT au format suivant :

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

Le paramètre tier est Archive, froid, sporadique ou chaud.

Pour récupérer le niveau de stockage d’un objet blob de bloc, utilisez l’opération Get Blob Properties. Il s’agit d’une requête HTTP HEAD (les contenus de l’objet blob ne sont pas renvoyés, mais uniquement un en-tête de réponse) :

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

L’en-tête de réponse x-ms-access-tier spécifie le niveau de stockage de l’objet blob.