Instantanés d’objet blob

Un instantané est une version en lecture seule d'un objet blob capturé à un instant donné.

Notes

Le contrôle de version des objets blob est une meilleure manière de conserver les versions précédentes d’un objet blob. Pour plus d’informations, consultez Contrôle de version des objets blob.

À propos des instantanés blob

Important

L’utilisation d’instantanés dans des comptes pour lesquels la fonctionnalité d’espace de noms hiérarchique est activée est actuellement en préversion. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

Pour vous inscrire à la préversion, voir ce formulaire.

Un instantané d’un objet blob est identique à l’objet blob de base, à la différence que l’URI de l’objet blob a une valeur DateTime à la fin qui indique l’heure à laquelle l’instantané a été pris. Par exemple, si l’URI de l’objet blob de pages est http://storagesample.core.blob.windows.net/mydrives/myvhd, l’URI de l’instantané est du type http://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z.

Notes

Tous les instantanés partagent l’URI de l’objet blob de base. La seule distinction entre l’objet blob de base et l’instantané est la valeur DateTime ajoutée à la fin.

Un objet blob peut avoir plusieurs instantanés. Les instantanés persistent jusqu’à ce qu’ils soient explicitement supprimés, soit indépendamment, soit dans le cadre d’une opération Supprimer l’objet blob pour l’objet blob de base. Vous pouvez énumérer les instantanés associés à l’objet blob de base pour effectuer le suivi de vos instantanés actuels.

Lorsque vous créez un instantané d’un objet blob, les propriétés système de l’objet blob sont copiées dans l’instantané avec les mêmes valeurs. Les métadonnées de l’objet blob de base sont également copiées dans l’instantané, sauf si vous spécifiez des métadonnées distinctes pour l’instantané lorsque vous le créez. Après avoir créé un instantané, vous pouvez le lire, le copier ou le supprimer, mais vous ne pouvez pas le modifier.

Aucun bail associé à l’objet blob de base n’a d’incidence sur l’instantané. Vous ne pouvez pas acquérir de bail pour un instantané.

Vous pouvez créer un instantané d’un blob dans le niveau chaud ou froid. Les instantanés sur les objets blob du niveau archive ne sont pas pris en charge.

Un fichier de disque dur virtuel est utilisé pour stocker les informations et l’état actuels d’un disque de machine virtuelle. Vous pouvez détacher un disque de la machine virtuelle ou arrêter la machine virtuelle, puis prendre une capture instantanée de son fichier de disque dur virtuel. Vous pourrez par la suite utiliser ce fichier de capture instantanée pour récupérer le fichier de disque dur virtuel à ce moment précis et recréer la machine virtuelle.

Tarification et facturation

La création d'un instantané, qui est une copie en lecture seule d'un blob, peut entraîner des frais de stockage de données supplémentaires sur votre compte. Lors de la conception de votre application, il est important de savoir comment ces frais peuvent s’accumuler pour pouvoir réduire les coûts.

Les captures instantanées d’objets blob comme les versions d’objets blob sont facturées au même tarif que les données actives. La façon dont les captures instantanées sont facturées varie selon que vous avez défini explicitement le niveau pour l’objet blob de base ou pour l’une de ses captures instantanées (ou versions). Pour plus d’informations sur les niveaux d’objets blob, consultez Niveaux d’accès aux données blob.

Si vous n’avez pas modifié le niveau d’un objet blob ou d’un instantané, vous êtes facturé pour des blocs de données uniques sur cet objet blob, ses instantanés et toutes ses versions. Pour plus d’informations, consultez Facturation lorsque le niveau blob n’a pas été explicitement défini.

Si vous avez modifié le niveau d'un objet blob ou d'un instantané, vous êtes facturé pour l'objet entier, que l'objet blob et l'instantané se trouvent ou non à nouveau dans le même niveau. Pour plus d’informations, consultez Facturation quand le niveau de l’objet blob a été défini explicitement.

Pour plus d’informations sur les détails de facturation des versions d’objets blob, consultez Contrôle de version d’objets blob.

Réduire les coûts grâce à la gestion des captures instantanées

Microsoft recommande de gérer vos instantanés avec soin pour éviter des frais supplémentaires. Vous pouvez suivre ces meilleures pratiques pour réduire les coûts liés au stockage de vos captures instantanées :

  • Supprimez et recréez les instantanés associés à un objet blob chaque fois que vous mettez à jour l'objet blob, même si vous effectuez une mise à jour avec des données identiques, à moins que la conception de votre application n'exige que vous conserviez des instantanés. En supprimant et en recréant les instantanés de l’objet blob, vous pouvez vous assurer que l’objet blob et les instantanés ne divergent pas.
  • Si vous conservez des instantanés pour un objet blob, évitez d’appeler des méthodes qui écrasent l’intégralité de l’objet blob lorsque vous mettez à jour l’objet blob. Au lieu de cela, mettez à jour le nombre de blocs le moins élevé possible pour réduire les coûts.

Facturation lorsque le niveau blob n'a pas été explicitement défini

Si vous n’avez pas explicitement défini le niveau d’objet blob pour un objet blob de base ou l’un de ses instantanés, vous êtes facturé pour les blocs ou pages uniques dans l’objet blob, ses instantanés et toutes ses versions. Les données partagées dans un objet blob et ses captures instantanées ne sont facturées qu’une seule fois. Lors de la mise à jour d’un objet blob, les données dans l’objet blob de base divergent des données stockées dans ses captures instantanées, et les données uniques sont facturées par bloc ou page.

Lorsque vous remplacez un bloc dans un objet blob de blocs, ce bloc est ensuite facturé comme un bloc unique. Cela est vrai même si le bloc a le même ID de bloc et les mêmes données que dans l'instantané. Une fois le bloc validé à nouveau, il s'écarte de son homologue dans l'instantané et vous serez facturé pour ses données. Il en va de même pour une page dans un objet blob de pages qui est mise à jour avec des données identiques.

Le stockage d’objets blob ne permet pas de déterminer si deux blocs contiennent des données identiques. Chaque bloc qui est téléchargé et validé est traité comme étant unique, même s’il a les mêmes données et le même ID de bloc. Étant donné que des frais s’accumulent pour les blocs uniques, il est important de garder à l’esprit que la mise à jour d’un blob lorsque ce blob contient des instantanés ou des versions entraîne des blocs uniques supplémentaires et des frais supplémentaires.

Lorsqu’un objet blob a des captures instantanées, appelez des opérations de mise à jour des objets blob de blocs de façon à ce qu’elles mettent à jour le plus petit nombre possible de blocs. Les opérations d’écriture qui permettent un contrôle plus précis des blocs sont Put Block et Put Block List. L’opération Put Blob, en revanche, remplace l’intégralité du contenu d’un blob et peut donc entraîner des frais supplémentaires.

Les scénarios suivants montrent comment les frais s’accumulent pour un objet blob de blocs et ses captures instantanées lorsque le niveau d’objet blob n’a pas été défini explicitement.

Scénario 1

Dans le scénario 1, l’objet blob de base n’a pas été mis à jour après la prise de l’instantané. Des frais sont donc facturés uniquement pour les blocs uniques 1, 2 et 3.

Diagramme 1 montrant la facturation des blocs uniques dans l’objet blob de base et la capture instantanée.

Scénario 2

Dans le scénario 2, l’objet blob de base a été mis à jour, mais pas l’instantané. Le bloc 3 a été mis à jour et même s'il contient les mêmes données et le même identifiant, ce n'est pas la même chose que le bloc 3 dans l'instantané. Par conséquent, des frais pour quatre blocs sont facturés au compte.

Diagramme 2 montrant la facturation des blocs uniques dans l’objet blob de base et la capture instantanée.

Scénario 3

Dans le scénario 3, l’objet blob de base a été mis à jour, mais pas l’instantané. Le bloc 3 a été remplacé par le bloc 4 dans l’objet blob de base, mais l’instantané reflète toujours le bloc 3. Par conséquent, des frais pour quatre blocs sont facturés au compte.

Diagramme 3 montrant la facturation des blocs uniques dans l’objet blob de base et la capture instantanée.

Scénario 4

Dans le scénario 4, l'objet blob de base a été complètement mis à jour et ne contient aucun de ses blocs d'origine. Par conséquent, des frais pour les huit blocs uniques sont facturés au compte.

Diagramme 4 montrant la facturation des blocs uniques dans l’objet blob de base et la capture instantanée.

Conseil

Évitez d’appeler des méthodes qui remplacent la totalité de l’objet blob et mettez à jour des blocs individuels pour réduire les coûts.

Facturation quand le niveau de l’objet blob a été défini explicitement

Si vous avez explicitement défini le niveau blob pour un blob ou un instantané (ou une version), vous êtes facturé pour la longueur totale du contenu de l'objet dans le nouveau niveau, qu'il partage ou non des blocs avec un objet du niveau d'origine. Nous vous facturons également la longueur totale du contenu de la version la plus ancienne dans le niveau d’origine. Toutes les versions ou instantanés qui restent dans le niveau d'origine sont facturés pour les blocs uniques qu'ils peuvent partager, comme décrit dans Facturation lorsque le niveau blob n'a pas été explicitement défini.

Déplacement d’un objet blob vers un nouveau niveau

Le tableau suivant décrit le comportement de facturation d'un objet blob ou d'un instantané lorsqu'il est déplacé vers un nouveau niveau.

Quand le niveau du blob est défini explicitement sur… Nous vous facturons...
Un objet blob de base avec une capture instantanée L’objet blob de base dans le nouveau niveau et la capture instantanée la plus ancienne dans le niveau d’origine, ainsi que tous les blocs uniques dans d’autres captures instantanées.1
Un objet blob de base avec une version précédente et une capture instantanée L’objet blob de base dans le nouveau niveau, la version la plus ancienne dans le niveau d’origine et la capture instantanée la plus ancienne dans le niveau d’origine, ainsi que tous les blocs uniques dans d’autres versions ou captures instantanées1.
Une capture instantanée La capture instantanée dans le nouveau niveau et l’objet blob de base dans le niveau d’origine, ainsi que tous les blocs uniques dans d’autres captures instantanées.1

1 S'il existe d'autres versions ou instantanés précédents qui n'ont pas été déplacés de leur niveau d'origine, ces versions ou instantanés sont facturés en fonction du nombre de blocs uniques qu'ils contiennent, comme décrit dans Facturation lorsque le niveau blob n'a pas été explicitement défini.

Le diagramme suivant illustre la façon dont les objets sont facturés quand un objet blob avec captures instantanées est déplacé vers un autre niveau.

Diagramme montrant comment les objets sont facturés quand un objet blob avec contrôle version est explicitement hiérarchisé.

Vous ne pouvez pas annuler la définition explicite du niveau pour un objet blob, une version ou une capture instantanée. Si vous déplacez un objet blob vers un nouveau niveau, puis le replacez à son niveau d’origine, nous vous facturons la longueur totale du contenu de l’objet, même s’il partage des blocs avec d’autres objets dans le niveau d’origine.

Les opérations qui définissent explicitement le niveau d’un objet blob, d’une version ou d’une capture instantanée sont les suivantes :

Suppression d’un objet blob quand la suppression réversible est activée

Lorsque la suppression réversible d’objet blob est activée, si vous supprimez ou remplacez un objet blob de base dont le niveau est explicitement défini, toutes les versions précédentes ou captures instantanées de l’objet blob supprimé de manière réversible sont facturées pour la longueur totale du contenu. Pour plus d’informations sur la manière dont le contrôle de version d’objet blob et de la suppression réversible fonctionnent ensemble, consultez Contrôle de version des objets blob et suppression réversible.

Le tableau suivant décrit le comportement de facturation d’un objet blob supprimé de manière réversible, selon que le contrôle de version est activé ou désactivé. Quand le contrôle de version est activé, une nouvelle version est créée lors de la suppression d’un objet blob de manière réversible. Quand le contrôle de version est désactivé, la suppression réversible d’un objet blob crée une capture instantanée de suppression réversible.

Quand vous remplacez un blob de base par son niveau explicitement défini… Nous vous facturons...
Si la suppression réversible et le contrôle de version d’objet blob sont tous deux activés Toutes les versions existantes pour la longueur totale du contenu, quel que soit le niveau.
Si la suppression réversible d’objet blob est activée alors que le contrôle de version est désactivé Tous les captures instantanées de suppression réversible existantes pour la longueur totale du contenu, quel que soit le niveau.

Prise en charge des fonctionnalités

La prise en charge de cette fonctionnalité peut être impactée par l’activation de Data Lake Storage Gen2, du protocole NFS (Network File System) 3.0 ou du protocole SFTP (SSH File Transfer Protocol). Si vous avez activé l’une de ces fonctionnalités, consultez Prise en charge des fonctionnalités Stockage Blob dans les comptes Stockage Azure pour évaluer la prise en charge de cette fonctionnalité.

Étapes suivantes