VENTES: 1-800-867-1389

Snapshot Blob

Publication: août 2011

Mis à jour: janvier 2014

L'opération Snapshot Blob crée un instantané en lecture seule d'un objet blob.

La demande Snapshot Blob peut être construite comme indiqué ci-dessous. HTTPS est recommandé. Remplacez moncompte par le nom de votre compte de stockage :

 

  URI de demande de la méthode PUT Version HTTP

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

HTTP/1.1

Lorsque vous élaborez une demande pour le service de stockage émulé, spécifiez le nom d'hôte de l'émulateur et le port de service BLOB sous la forme 127.0.0.1:10000, suivi du nom de compte émulé :

 

  URI de demande de la méthode PUT Version HTTP

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=snapshot

HTTP/1.1

Pour plus d'informations, consultez Utilisation de l'émulateur de stockage Azure pour le développement et le test.

Les paramètres supplémentaires suivants peuvent être spécifiés dans l'URI de la demande.

 

Parameter Description

timeout

Ce paramètre est facultatif. Le paramètre timeout est exprimé en secondes. Pour plus d'informations, consultez Définition de délais d'expiration pour les opérations du service BLOB.

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.

 

En-tête de demande Description

Authorization

Obligatoire. Spécifie le schéma d'authentification, le nom du compte et la signature. Pour plus d'informations, consultez Authentification pour les services de stockage Azure.

Date - ou - x-ms-date

Obligatoire. Spécifie le temps universel coordonné (UTC) pour la demande. Pour plus d'informations, consultez Authentification pour les services de stockage Azure.

x-ms-version

Obligatoire pour toutes les demandes authentifiées. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez Contrôle de version pour les services de stockage Azure.

x-ms-meta-name:value

Ce paramètre est facultatif. Spécifie une paire nom-valeur définie par l'utilisateur associée à l'objet blob. Si aucune paire nom-valeur n'est spécifiée, l'opération copie les métadonnées de l'objet blob de base dans l'instantané. Si une ou plusieurs paires nom-valeur sont spécifiées, l'instantané est créé avec les métadonnées spécifiées et les métadonnées ne sont pas copiées à partir de l'objet blob de base.

Depuis la version du 19/09/2009, les noms de métadonnées doivent respecter les règles d'attribution de noms pour les identificateurs C#. Pour plus d'informations, consultez Affectation de noms et références aux conteneurs, objets BLOB et métadonnées.

If-Modified-Since

Ce paramètre est facultatif. Valeur DateTime. Spécifiez cet en-tête conditionnel pour effectuer un instantané de l'objet blob uniquement s'il a été modifié depuis la date/l'heure indiquées. Si l'objet blob de base n'a pas été modifié, le service BLOB retourne le code d'état 412 (Échec de la précondition).

If-Unmodified-Since

Ce paramètre est facultatif. Valeur DateTime. Spécifiez cet en-tête conditionnel pour effectuer un instantané de l'objet blob uniquement s'il n'a pas été modifié depuis la date/l'heure indiquées. Si l'objet blob de base a été modifié, le service BLOB retourne le code d'état 412 (Échec de la précondition).

If-Match

Ce paramètre est facultatif. Valeur d'ETag. Spécifiez une valeur d'ETag pour cet en-tête conditionnel pour prendre un instantané de l'objet blob uniquement si sa valeur d'ETag correspond à la valeur spécifiée. Si les valeurs ne correspondent pas, le service BLOB retourne le code d'état 412 (Échec de la précondition).

If-None-Match

Ce paramètre est facultatif. Valeur d'ETag.

Spécifiez une valeur d'ETag pour cet en-tête conditionnel pour prendre un instantané de l'objet blob uniquement si sa valeur d'ETag ne correspond pas à la valeur spécifiée. Si les valeurs sont identiques, le service BLOB retourne le code d'état 412 (Échec de la précondition).

x-ms-lease-id:<ID>

Ce paramètre est facultatif. Si cet en-tête est spécifié, l'opération sera exécutée uniquement si les deux conditions suivantes sont remplies :

  • Le bail de l'objet blob est actuellement actif.

  • L'ID de bail spécifié dans la demande correspond à celui de l'objet blob.

Si cet en-tête est spécifié et que ces deux conditions ne sont pas remplies, la demande échoue et l'opération Snapshot Blob échoue avec le code d'état 412 (Échec de la précondition).

x-ms-client-request-id

Ce paramètre est facultatif. Fournit une valeur opaque générée par le client avec une limite de caractère de 1 Ko qui est enregistrée dans les journaux d'analyse quand la journalisation de l'analyse de stockage est activée. L'utilisation de cet en-tête est recommandée pour la corrélation des activités côté client avec les requêtes reçues par le serveur. Pour plus d'informations, consultez À propos de la journalisation Storage Analytics et Journalisation du stockage Windows Azure : utilisation des journaux pour suivre les demandes de stockage.

Cette opération prend également en charge l'utilisation d'en-têtes conditionnels pour exécuter l'opération uniquement si une condition est remplie. Pour plus d'informations, consultez Spécification des en-têtes conditionnels pour les opérations du service BLOB.

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.

Une opération ayant réussi retourne le code d'état 201 (Créé).

Pour plus d'informations sur les codes d'état, consultez Codes d'état et codes d'erreur.

La réponse de l'opération inclut les en-têtes suivants. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

 

Syntaxe Description

x-ms-snapshot: <DateTime>

Cet en-tête retourne une valeur DateTime qui identifie l'instantané de façon unique. La valeur de cet en-tête indique la version de l'instantané, et peut être utilisée dans les demandes suivantes pour accéder à l'instantané. Notez que cette valeur est opaque.

ETag

L'ETag de l'instantané. Si la version de la demande est 18/08/2011 ou plus récente, la valeur de l'ETag sera entre guillemets. Notez qu'il n'est pas possible d'écrire dans un instantané, donc l'ETag d'un instantané donné ne changera jamais. Toutefois, l'ETag de l'instantané différera de celui de l'objet blob de base si de nouvelles métadonnées ont été fournies avec la demande Snaphot Blob. Si aucune métadonnée n'a été spécifiée avec la demande, l'ETag de l'instantané sera identique à celui de l'objet blob de base au moment où l'instantané a été pris.

Last-Modified

Heure de la dernière modification de l'instantané. Le format de date suit RFC 1123. Pour plus d'informations, consultez la rubrique Représentation des valeurs Date/Heure dans les en-têtes.

Notez qu'il n'est pas possible d'écrire dans un instantané, donc l'heure de la dernière modification d'un instantané donné ne changera jamais. Toutefois, l'heure de la dernière modification de l'instantané différera de celle de l'objet blob de base si de nouvelles métadonnées ont été fournies avec la demande Snaphot Blob. Si aucune métadonnée n'a été spécifiée avec la demande, l'heure de la dernière modification de l'instantané sera identique à celle de l'objet blob de base au moment où l'instantané a été pris.

x-ms-request-id

Cet en-tête identifie de façon unique la demande qui a été effectuée et peut être utilisé pour résoudre les problèmes de la demande. Pour plus d'informations, consultez Dépannage des opérations de l'API.

x-ms-version

Indique la version du service BLOB utilisée pour exécuter la demande. Cet en-tête est retourné pour les demandes effectuées avec la version du 19.09.09 ou ultérieure.

Date

Une valeur de date/heure UTC générée par le service qui indique le moment auquel la réponse a été initiée.

Seul le propriétaire du compte peut appeler cette opération.

Les instantanés fournissent des versions en lecture seule des objets blob. Un instantané peut être lu, copié ou supprimé, mais pas modifié.

Un instantané fournit un moyen pratique pour sauvegarder les données d'objets blob. Vous pouvez utiliser un instantané pour restaurer un objet blob à une version antérieure en appelant Copy Blob pour remplacer un objet blob de base par son instantané.

Lorsque vous créez un instantané, le service BLOB retourne une valeur DateTime qui identifie l'instantané par rapport à son objet blob de base de façon unique. Utilisez cette valeur pour exécuter d'autres opérations sur l'instantané. Notez que vous devez considérer cette valeur DateTime comme opaque.

La valeur DateTime identifie l'instantané dans l'URI. Par exemple, un objet blob de base et ses instantanés ont des URI semblables à ce qui suit :

  • Objet blob de base : http://myaccount.blob.core.windows.net/mycontainer/myblob

  • Instantané : http://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

Notez que chaque fois que vous appelez l'opération Snapshot Blob, un nouvel instantané est créé, avec une valeur DateTime unique. Un objet blob peut prendre en charge plusieurs instantanés. Les instantanés existants ne sont jamais remplacés, mais doivent être supprimés explicitement en appelant Delete Blob et en définissant l'en-tête x-ms-include-snapshots à la valeur appropriée.

Lecture, copie et suppression d'instantanés

Un appel réussi à Snapshot Blob retourne une valeur DateTime dans l'en-tête de réponse x-ms-snapshot. Vous pouvez ensuite utiliser cette valeur DateTime pour exécuter les opérations de lecture, suppression ou copie sur une version d'instantané spécifique. Toute opération de service BLOB qui est valide pour un instantané peut être appelée en spécifiant ?snapshot=<DateTime> après le nom d'objet blob.

Copie des propriétés et des métadonnées d'un objet blob

Quand vous créez un instantané d'un objet blob, les propriétés système suivantes sont copiées dans l'instantané avec les mêmes valeurs :

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-Length

  • Cache-Control

  • Content-MD5

  • x-ms-blob-sequence-number (for page blobs only)

  • x-ms-copy-id (version du 12/02/2012 et versions ultérieures)

  • x-ms-copy-status (version du 12/02/2012 et versions ultérieures)

  • x-ms-copy-source (version du 12/02/2012 et versions ultérieures)

  • x-ms-copy-progress (version du 12/02/2012 et versions ultérieures)

  • x-ms-copy-completion-time (version du 12/02/2012 et versions ultérieures)

  • x-ms-copy-status-description (version du 12/02/2012 et versions ultérieures)

La liste des blocs validés de l'objet blob de base est également copiée dans l'instantané, si l'objet blob est un objet blob de blocs. Les blocs non validés ne sont pas copiés.

La taille de l'objet blob instantané est toujours la même que celle de l'objet blob de base au moment de l'instantané, c'est pourquoi la valeur de l'en-tête Content-Length pour l'objet blob instantané est la même que celle de l'objet blob de base.

Vous pouvez spécifier une ou plusieurs nouvelles valeurs de métadonnées pour l'instantané en spécifiant l'en-tête x-ms-meta-name:value dans la demande. Si cet en-tête n'est pas spécifié, les métadonnées associées à l'objet blob de base sont copiées dans l'instantané.

Spécification d'en-têtes conditionnels

Vous pouvez spécifier des en-têtes conditionnels dans la demande pour prendre un instantané de l'objet blob uniquement si une condition est remplie. Si la condition spécifiée n'est pas remplie, l'instantané n'est pas créé, et le service BLOB retourne le code d'état 412 (Échec de la précondition), ainsi que des informations d'erreur supplémentaires sur la condition qui n'a pas été remplie.

Création d'un instantané d'un objet blob loué

Si l'objet blob de base a un bail actif, vous pouvez créer un instantané de l'objet blob tant que l'une des conditions suivantes est vraie pour la demande :

  • L'en-tête conditionnel x-ms-lease-id est spécifié et l'ID du bail actif pour l'objet blob de base est inclus dans la demande. Cette condition indique que l'instantané est créé uniquement si le bail est actif et l'ID de bail spécifié correspond à celui associé à l'objet blob.

  • L'en-tête x-ms-lease-id n'est pas du tout spécifié, dans ce cas le bail d'exclusivité en écriture est ignoré.

Notez qu'un bail associé à l'objet blob de base n'est pas copié dans l'instantané. Les instantanés ne peuvent pas être loués.

Copie d'instantanés

Quand un objet blob de base est copié avec l'opération Copy Blob, les instantanés de l'objet blob de base ne sont pas copiés dans l'objet blob de destination. Quand un objet BLOB de destination est remplacé par une copie, tous les instantanés associés à l'objet BLOB de destination restent intacts sous son nom.

Vous pouvez copier un objet blob instantané dans son objet blob de base pour restaurer une version antérieure d'un objet blob. L'instantané est conservé, mais l'objet blob de base est remplacé par une copie qui peut être lue et modifiée.

noteRemarque
La promotion d'un instantané de cette manière n'occasionne pas de frais supplémentaires pour les ressources de stockage, car les blocs ou les pages sont partagés entre l'instantané et l'objet blob de base.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2014 Microsoft