Présentation de la façon dont les instantanés d’objets blob cumulent des frais

La création d’un instantané, c’est-à-dire d’une copie en lecture seule d’un objet blob, peut entraîner des frais de stockage de données supplémentaires pour votre compte. Quand vous créez votre application, tenez compte de l'augmentation possible de ces frais afin de réduire les coûts inutiles.

Éléments de facturation à prendre en compte :

La liste suivante contient des points clés à prendre en compte lors de la création d’un instantané.

  • Des frais sont calculés pour les blocs ou les pages uniques, qu'ils figurent dans l'objet blob ou l'instantané. Aucuns frais supplémentaires ne sont imputés à votre compte pour les instantanés associés à un objet blob tant que vous n'avez pas mis à jour l’objet blob sur lequel ils sont basés. Dès que vous mettez à jour l'objet blob de base, il diffère de ses instantanés et vous êtes facturé pour les blocs ou pages uniques de chaque objet blob ou instantané.

  • Quand vous remplacez un bloc au sein d’un objet blob de bloc, 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 revalidé, il diffère de son homologue dans tous les instantanés et vous êtes 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 remplacement d'un objet blob de blocs par l'appel de la méthode UploadFile, UploadText, UploadStream ou UploadByteArray remplace tous les blocs dans cet objet blob. Si un instantané est associé à cet objet blob, tous les blocs de l'objet blob de base et de l'instantané sont différents et vous serez facturé pour tous les blocs des deux objets blob. Cela est vrai même si les données de l’objet blob de base et l’instantané restent identiques.

  • Le service blob Azure ne dispose d'aucun moyen pour 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. Les blocs uniques générant des frais supplémentaires, la mise à jour d'un objet blob associé à un instantané se traduit par des blocs uniques supplémentaires et donc une augmentation des coûts.

Important

Un conseil : gérez les instantanés avec attention afin d’éviter des frais supplémentaires. Nous vous conseillons de gérer les instantanés de la façon suivante :

  • 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 le mettez à jour avec des données identiques, sauf si la conception de votre application exige de tenir à jour 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 diffèrent pas.
  • Si vous gardez les instantanés d'un objet blob, évitez d'appeler la méthode UploadFile, UploadText, UploadStream ou UploadByteArray pour le mettre à jour, car ces méthodes remplacent tous les blocs dans l'objet blob. Au lieu de cela, mettez à jour le moins possible de blocs en utilisant les méthodes PutBlock et PutBlockList.

Scénarios de facturation des instantanés

Les scénarios suivants illustrent l’accumulation des coûts pour un objet blob de blocs et ses instantanés. Dans le scénario 1, l'objet blob de base n'a pas été mis à jour depuis la création de l'instantané, les frais sont donc calculés uniquement pour les blocs uniques 1, 2 et 3 :

Diagramme montrant comment les blocs sont facturés dans le scénario 1

Scénario 1 : seuls les blocs 1, 2 et 3 engendrent une augmentation des coûts.

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 bien qu’il contienne les mêmes données et le même ID, il est différent du bloc 3 de l’instantané. Par conséquent, le compte est facturé pour quatre blocs :

Diagramme montrant comment les blocs sont facturés dans le scénario 2

Scénario 2 : les blocs 1, 2 et 3 de l'objet BLOB de base engendrent une augmentation des coûts, ainsi que le bloc 3 de l'instantané.

Dans le scénario 3, l’objet blob de base a été mis à jour, mais pas le 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, le compte est facturé pour quatre blocs :

Diagramme montrant comment les blocs sont facturés dans le scénario 3

Scénario 3 : les blocs 1, 2, 3 et 4 engendrent une augmentation des coûts.

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. Ce scénario peut se produire si vous utilisez une méthode de mise à jour telle que UploadFile, UploadText, UploadFromStream ou UploadByteArray, car ces méthodes remplacent tout le contenu d'un objet blob.

Diagramme montrant comment les blocs sont facturés dans le scénario 4

Scénario 4 : les blocs 1, 2, 3, 4, 5, 6, 7 et 8 engendrent une augmentation des coûts.

Voir aussi

Comment utiliser le service de stockage d'objets blob
Utilisation du service de stockage de files d’attente
Création d’un instantané d’objet blob