Définir le niveau d’accès d’un blob

Vous pouvez définir le niveau d’accès d’un blob de l’une des manières suivantes :

  • En définissant le niveau d’accès en ligne par défaut (Chaud ou Froid) pour le compte de stockage. Les blobs du compte héritent de ce niveau d’accès, sauf si vous remplacez explicitement le paramètre pour un blob individuel.
  • En définissant explicitement le niveau d’un blob lors du chargement. Vous pouvez créer un objet blob au niveau chaud, sporadique, froid ou archive.
  • En changeant le niveau d’un blob existant avec l’opération Définir le niveau de l’objet blob. En règle générale, vous utilisez cette opération pour passer d’un niveau plus chaud à un niveau plus froid.
  • En copiant un objet blob avec une opération Copier l’objet blob. En règle générale, vous utilisez cette opération pour passer d’un niveau plus froid à un niveau plus chaud.

Cet article explique comment gérer un objet blob dans un niveau d’accès en ligne. Pour plus d’informations sur la façon de déplacer un blob vers le niveau Archive, consultez Archiver un blob. Pour plus d’informations sur la façon de réhydrater un blob à partir du niveau Archive, consultez Réhydrater un blob archivé sur un niveau en ligne.

Pour plus d’informations sur les niveaux d’accès des blobs, consultez Niveaux d’accès pour les données blob.

Définir le niveau d’accès par défaut d’un compte de stockage

Le paramètre de niveau d’accès par défaut pour un compte de stockage v2 universel détermine dans quel niveau en ligne un nouveau blob est créé par défaut. Vous pouvez définir le niveau d’accès par défaut pour un compte de stockage v2 universel au moment où vous créez le compte ou en mettant à jour la configuration d’un compte existant.

Lorsque vous changez le paramètre de niveau d’accès par défaut pour un compte de stockage v2 universel existant, le changement s’applique à tous les objets blob du compte pour lesquels un niveau d’accès n’a pas été défini explicitement. Le changement du niveau d’accès par défaut peut avoir un impact sur la facturation. Pour obtenir des détails, consultez Paramètre de niveau d’accès du compte par défaut.

Pour définir le niveau d’accès par défaut pour un compte de stockage au moment de sa création dans le portail Azure, suivez ces étapes :

  1. Accédez à la page Comptes de stockage et sélectionnez le bouton Créer.

  2. Renseignez l’onglet Informations de base.

  3. Sous l’onglet Avancé, sous Stockage Blob, définissez le Niveau d’accès sur Chaud ou Froid. Le paramètre par défaut est Chaud.

  4. Sélectionnez Vérifier + créer pour valider vos paramètres et créer votre compte de stockage.

    Capture d’écran montrant comment définir le niveau d’accès par défaut lors de la création d’un compte de stockage.

Pour mettre à jour le niveau d’accès par défaut pour un compte de stockage existant dans le portail Azure, suivez ces étapes :

  1. Accédez au compte de stockage dans le portail Azure.

  2. Sous Paramètres, sélectionnez Configuration.

  3. Repérez le paramètre Niveau d’accès (par défaut) et sélectionnez Chaud ou Froid. Le paramètre par défaut est Chaud, si vous n’avez pas déjà défini cette propriété.

  4. Enregistrez vos modifications.

Définir le niveau d’un blob lors du chargement

Lorsque vous chargez un blob dans le Stockage Azure, vous avez le choix entre deux options pour définir le niveau du blob lors du chargement :

  • Vous pouvez spécifier explicitement le niveau dans lequel le blob sera créé. Ce paramètre remplace le niveau d’accès par défaut pour le compte de stockage. Vous pouvez définir le niveau d’un blob ou d’un ensemble de blobs lors du chargement sur chaud, froid ou archive.
  • Vous pouvez charger un blob sans spécifier de niveau. Dans ce cas, le blob sera créé dans le niveau d’accès par défaut spécifié pour le compte de stockage (Chaud ou Froid).

Si vous chargez un nouvel objet blob qui utilise une étendue de chiffrement, vous ne pouvez pas changer son niveau d’accès.

Les sections suivantes décrivent comment spécifier qu’un blob est chargé sur le niveau Chaud ou Froid. Pour plus d’informations sur l’archivage d’un blob lors du chargement, consultez Archiver des blobs lors du chargement.

Charger un blob sur un niveau en ligne spécifique

Pour créer un objet blob dans le niveau chaud, sporadique ou froid, spécifiez ce niveau lorsque vous créez l’objet blob. Le niveau d’accès spécifié lors du chargement remplace le niveau d’accès par défaut pour le compte de stockage.

Pour charger un blob ou un ensemble de blobs sur un niveau spécifique à partir du portail Azure, suivez ces étapes :

  1. Accédez au conteneur cible.

  2. Cliquez sur le bouton Charger.

  3. Sélectionnez le ou les fichiers à charger.

  4. Développez la section Avancé et définissez le Niveau d’accès sur Chaud ou Froid.

  5. Cliquez sur le bouton Charger.

    Capture d’écran montrant comment charger des blobs sur un niveau en ligne dans le portail Azure.

Charger un blob sur le niveau par défaut

Les comptes de stockage disposent d’un paramètre de niveau d’accès par défaut qui indique le niveau en ligne dans lequel un nouveau blob est créé. Le paramètre de niveau d’accès par défaut peut être défini sur chaud ou froid. Le comportement de ce paramètre est légèrement différent selon le type de compte de stockage :

  • Par défaut, le niveau d’accès pour un nouveau compte de stockage universel v2 est défini sur le niveau chaud. Vous pouvez modifier le paramètre de niveau d’accès par défaut lorsque vous créez un compte de stockage ou après sa création.
  • Quand vous créez un compte de stockage Blob hérité, vous devez spécifier le paramètre du niveau d’accès par défaut sur Chaud ou Froid. Vous pouvez changer le paramètre du niveau d’accès par défaut pour le compte de stockage après sa création.

Tout objet blob ne disposant pas d’un niveau explicitement attribué déduit le niveau à partir du paramètre de niveau d’accès du compte par défaut. Vous pouvez déterminer si le niveau d’accès d’un blob est déduit en utilisant le portail Azure, PowerShell ou Azure CLI.

Si le niveau d’accès d’un objet blob est déduit du paramètre de niveau d’accès au compte par défaut, le portail Azure affiche le niveau d’accès comme Chaud (inféré) ou Froid (inféré) .

Capture d’écran montrant les blobs avec le niveau d’accès par défaut dans le portail Azure.

Déplacer un blob dans un autre niveau en ligne

Vous pouvez déplacer un objet blob vers un autre niveau en ligne de deux façons :

  • En modifiant le niveau d’accès.
  • En copiant l’objet blob vers un autre niveau en ligne.

Pour plus d’informations sur chacune de ces options, consultez Définition ou changement du niveau d’un blob.

Utilisez PowerShell, Azure CLI, AzCopy v10 ou l’une des bibliothèques de client Stockage Azure pour déplacer un objet blob vers un autre niveau.

Changer le niveau d’un blob

Lorsque vous modifiez le niveau d’un objet blob, vous déplacez cet objet et toutes ses données vers le niveau cible en appelant l’opération Définir le niveau du blob (directement ou via une stratégie de gestion du cycle de vie) ou en utilisant la commande azcopy set-properties avec AzCopy. Il s’agit généralement de la meilleure option pour changer le niveau d’un objet blob dans le but de passer d’un niveau plus chaud à un niveau plus sporadique.

Conseil

Vous pouvez utiliser une tâche de stockage pour modifier le niveau d'accès des blobs à grande échelle sur plusieurs comptes de stockage en fonction d'un ensemble de conditions que vous définissez. Une tâche de stockage est une ressource disponible dans Azure Storage Actions; infrastructure serverless que vous pouvez utiliser pour effectuer des opérations de données courantes sur des millions d’objets sur plusieurs comptes de stockage. Pour plus d’informations, consultez Qu’est-ce qu’Azure Storage Actions ?.

Pour changer le niveau d’un blob afin de passer à un niveau plus froid dans le portail Azure, suivez ces étapes :

  1. Accédez au blob pour lequel vous souhaitez changer le niveau.

  2. Sélectionnez le blob, puis le bouton Changer de niveau.

  3. Dans la boîte de dialogue Changer de niveau, sélectionnez le niveau cible.

  4. Sélectionnez le bouton Enregistrer.

    Capture d’écran montrant comment changer le niveau d’un blob dans le portail Azure

Copier un blob dans un autre niveau en ligne

Pour copier un objet blob d’un niveau vers un autre, appelez l’opération Copier l’objet blob. Lorsque vous copiez un blob dans un autre niveau, vous déplacez ce blob et toutes ses données dans le niveau cible. L’objet blob source reste dans le niveau d’origine et un nouvel objet blob est créé dans le niveau cible. L’appel de Copier l’objet blob est recommandé pour la plupart des scénarios dans lesquels vous déplacez un objet blob vers un niveau plus chaud, ou réhydratez un objet blob à partir du niveau Archive.

N/A

Hiérarchisation en bloc

Pour déplacer des objets blob vers un autre niveau dans un conteneur ou un dossier, énumérez les objets blob et appelez l’opération Définir le niveau de l’objet blob sur chacun d’eux. L’exemple suivant montre comment effectuer cette opération :

N/A

Lorsque vous déplacez un grand nombre d’objets blob vers un autre niveau, utilisez une opération par lots pour des performances optimales. Une opération de traitement par lots envoie plusieurs appels d’API au service avec une seule requête. Les sous-opérations prises en charge par l’opération Traitement par lot des objets blob incluent Supprimer l’objet blob et Définir le niveau du blob.

Notes

La sous-opération Définir un niveau d’objet blob de l’opération Lot d’objets blob n’est pas encore prise en charge dans les comptes qui ont un espace de noms hiérarchique.

Pour changer le niveau d’accès des objets blob avec une opération de traitement par lots, utilisez l’une des bibliothèques clientes Stockage Azure. L’exemple de code suivant montre comment effectuer une opération de traitement par lots de base avec la bibliothèque cliente .NET :

static async Task BulkArchiveContainerContents(string accountName, string containerName)
{
    string containerUri = string.Format("https://{0}.blob.core.windows.net/{1}",
                                    accountName,
                                    containerName);

    // Get container client, using Azure AD credentials.
    BlobUriBuilder containerUriBuilder = new BlobUriBuilder(new Uri(containerUri));
    BlobContainerClient blobContainerClient = new BlobContainerClient(containerUriBuilder.ToUri(), 
                                                                      new DefaultAzureCredential());

    // Get URIs for blobs in this container and add to stack.
    var uris = new Stack<Uri>();
    await foreach (var item in blobContainerClient.GetBlobsAsync())
    {
        uris.Push(blobContainerClient.GetBlobClient(item.Name).Uri);
    }

    // Get the blob batch client.
    BlobBatchClient blobBatchClient = blobContainerClient.GetBlobBatchClient();

    try
    {
        // Perform the bulk operation to archive blobs.
        await blobBatchClient.SetBlobsAccessTierAsync(blobUris: uris, accessTier: AccessTier.Archive);
    }
    catch (RequestFailedException e)
    {
        Console.WriteLine(e.Message);
    }
}

Pour voir un exemple d’application détaillé qui montre comment modifier des niveaux à l’aide d’une opération de traitement par lots, consultez AzBulkSetBlobTier.

Étapes suivantes