Objet blob Instantané
Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Objet blob Instantané

 

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

Le Snapshot Blob demande peut être construite comme suit. HTTPS est recommandé. Remplacez myaccount avec 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 auprès du service de stockage émulé, spécifiez le nom d'hôte de l'émulateur et le port du service Blob en tant que 127.0.0.1:10000, suivie 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 à l'aide 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.

Paramètre

Description

timeout

Facultatif. Le timeout paramètre 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 Azure Storage.

Masquer ou restaurer les mises à jour

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

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 des Services de stockage Azure.

x-ms-meta-name:value

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.

Notez que depuis la version 2009-09-19, les noms de métadonnées doivent respecter les règles d'affectation de noms identificateurs c#. Consultez Désignation et référencement des conteneurs, objets BLOB et métadonnées Pour plus d'informations.

If-Modified-Since

Facultatif. Valeur DateTime valeur. 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 renvoie le code d'état 412 (Échec de la précondition).

If-Unmodified-Since

Facultatif. Valeur DateTime valeur. 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 renvoie le code d'état 412 (Échec de la précondition).

If-Match

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 renvoie le code d'état 412 (Échec de la précondition).

If-None-Match

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 renvoie le code d'état 412 (Échec de la précondition).

x-ms-lease-id:<ID>

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 le Snapshot Blob opération échoue avec le code d'état 412 (Échec de la précondition).

x-ms-client-request-id

Facultatif. Fournit une valeur opaque générée par le client avec une limite de caractère de 1 Ko enregistrée dans les journaux d'analyse lorsque la journalisation de l'analyse de stockage est activée. L'utilisation de cet en-tête est fortement recommandée pour une corrélation des activités du 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 Azure : à l'aide de 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 d'en-têtes conditionnels pour les opérations de Service Blob.

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

Une opération réussie renvoie le code d'état 201 (Créé).

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

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 renvoie 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 le Snaphot Blob demande. 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 est conforme à la RFC 1123. Pour plus d'informations, consultez 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 dernière modification de l'instantané différera de celui de l'objet blob de base si de nouvelles métadonnées ont été fournies avec le Snaphot Blob demande. 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 d'API.

x-ms-version

Indique la version du service BLOB utilisée pour exécuter la demande. Cet en-tête est renvoyé pour les demandes effectuées avec la version 2009-09-19 ou une version 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 avec son instantané.

Lorsque vous créez un instantané, le service BLOB renvoie 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 le Snapshot Blob opération, 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 Suppression d'objets Blob et en définissant le x-ms-include-snapshots en-tête à la valeur appropriée.

Lecture, copie et suppression d'instantanés

Un appel réussi à Snapshot Blob retourne une valeur DateTime dans le x-ms-snapshot en-tête de réponse. 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. Aucune opération de service Blob est valide pour un instantané peut être appelée en spécifiant ?snapshot=<DateTime> après le nom de l'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-blob-committed-block-count (for append blobs only)

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

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

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

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

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

  • x-ms-copy-status-description (version 2012-02-12 et les 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.

L'objet blob instantané est toujours la même taille que l'objet blob de base au moment où l'instantané, donc la valeur de la Content-Length en-tête pour l'objet blob instantané sera identique à 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 le x-ms-meta-name:value en-tête 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 renvoie 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'instruction conditionnelle x-ms-lease-id en-tête est spécifié, et l'ID de 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.

  • Le x-ms-lease-id en-tête n'est pas spécifié, auquel 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

Lorsqu'un objet blob de base est copié à l'aide de la Copy Blob opération, 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.

System_CAPS_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.

Instantanés dans les comptes de stockage Premium

Il existe quelques différences entre les comptes de stockage Azure Premium et les comptes de stockage standard en termes d'instantanés :

  • Le nombre d'instantanés par l'objet blob de pages dans un compte de stockage Premium est limité à 100. Si cette limite est dépassée, le Snapshot Blob opération retourne le code d'erreur 409 (SnapshotCountExceeded).

  • Un instantané d'objet blob de pages dans un compte de stockage Premium peut-être être pris toutes les dix minutes. Si ce taux est dépassé, le Snapshot Blob opération retourne le code d'erreur 409 (SnaphotOperationRateExceeded).

  • Lecture d'un instantané d'un objet blob de pages dans un compte de stockage Premium via Get Blob n'est pas pris en charge. L'appel Get Blob sur un instantané dans un stockage Premium compte retourne le code d'erreur 400 (opération non valide). Toutefois, l'appel Get Blob Properties et Get Blob Metadata par rapport à un instantané est pris en charge.

    Pour lire un instantané, vous pouvez utiliser la Copy Blob opération pour copier un instantané à un autre objet blob de pages dans le compte. L'objet blob de destination pour l'opération de copie ne peut pas contenir d'instantané existant. Si l'objet blob de destination dispose des instantanés, puis Copy Blob retourne le code d'erreur 409 (SnapshotsPresent).

Pour plus d'informations sur l'appel d'opérations REST sur les ressources de stockage de Premium d'Azure, consultez À l'aide des opérations de Service Blob avec le stockage Azure Premium.

Afficher:
© 2016 Microsoft