Put Blob
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Put Blob

 

Le Put Blob opération crée un nouveau bloc, page, ou ajouter des objets blob ou met à jour le contenu d'un objet blob de blocs existant.

La mise à jour d'un objet blob de blocs existant remplace toutes les métadonnées existantes de l'objet blob. Mises à jour partielles ne sont pas pris en charge avec Put Blob; le contenu de l'objet blob existant est remplacé par le contenu du nouvel objet blob. Pour effectuer une mise à jour partielle du contenu d'un objet blob de blocs, utilisez le Put Block List (API REST) opération.

Notez que vous pouvez créer un objet blob append uniquement dans la version 2015-02-21 et versions ultérieures.

Un appel à une Put Blob pour créer une page blob ou un objet blob append initialise uniquement l'objet blob. Pour ajouter du contenu à un objet blob de pages, appelez le Put Page (API REST) opération. Pour ajouter du contenu à un objet blob append, appelez le opération.

Le Put 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

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 de stockage émulé :

URI de demande de la méthode PUT

Version HTTP

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob

HTTP/1.1

Notez que l'émulateur de stockage prend en charge uniquement des objets blob d'une taille inférieure à 2 Go.

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

paramètre de délai d'attente est exprimée 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 et facultatifs pour tous les types d'objet blob.

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 BLOB, de File d'attente et de Table dans Windows Azure.

Content-Length

Obligatoire. La longueur de la demande.

Pour un objet blob de pages ou un objet blob append, la valeur de cet en-tête doit être définie à zéro, comme est utilisé uniquement pour initialiser l'objet blob. Pour écrire le contenu dans un objet blob de page existant, appelez Put Page (API REST). Pour écrire le contenu sur un objet blob append, appelez .

Content-Type

Facultatif. Le type de contenu MIME de l'objet blob. Le type par défaut est application/octet-stream.

Content-Encoding

Facultatif. Spécifie les codages de contenu qui ont été appliqués à l'objet blob. Cette valeur est retournée au client lors de la Get Blob opération est effectuée sur la ressource d'objet blob. Le client peut utiliser cette valeur quand elle est retournée pour décoder le contenu de l'objet blob.

Content-Language

Facultatif. Spécifie les langages naturels utilisés par cette ressource.

Content-MD5

Facultatif. Un hachage MD5 du contenu de l'objet blob. Ce hachage est utilisé pour vérifier l'intégrité de l'objet blob pendant le transport. Lorsque cet en-tête est spécifié, le service de stockage compare le hachage qui est arrivé avec celui qui a été envoyé. Si les deux hachages ne correspondent pas, l'opération échoue avec le code d'erreur 400 (Demande incorrecte).

Quand il est omis à partir de la version du 12/02/2012, le service BLOB génère un hachage MD5.

Résultats de Get Blob, Get Blob Properties (API REST), et Liste des objets blob comprennent le hachage MD5.

Cache-Control

Facultatif. Le service BLOB stocke cette valeur mais ne l'utilise pas ou ne la modifie pas.

x-ms-blob-content-type

Facultatif. Définit le type de contenu de l'objet blob.

x-ms-blob-content-encoding

Facultatif. Définit l'encodage du contenu de l'objet blob.

x-ms-blob-content-language

Facultatif. Définit la langue du contenu de l'objet blob.

x-ms-blob-content-md5

Facultatif. Définit le hachage MD5 de l'objet blob.

x-ms-blob-cache-control

Facultatif. Définit le contrôle du cache de l'objet blob.

x-ms-blob-type:<BlockBlob | PageBlob | AppendBlob>

Obligatoire. Spécifie le type d'objet blob à créer : bloquer les objets blob, objet blob de pages, ou ajouter des objets blob. Prise en charge pour la création d'un objet blob append est uniquement disponible en version 2015-02-21 et versions ultérieures.

x-ms-meta-name:value

Facultatif. Paires nom-valeur associées à l'objet blob en tant que métadonnées.

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

x-ms-lease-id:<ID>

Obligatoire si l'objet blob a un bail actif. Pour effectuer cette opération sur un objet blob avec un bail actif, spécifiez l'ID de bail valide pour cet en-tête.

x-ms-blob-content-disposition

Facultatif. Définit l'objet blob Content-Disposition en-tête. Disponible pour la version du 15/08/2013 et les versions ultérieures.

Le Content-Disposition champ d'en-tête de réponse donne des informations supplémentaires sur la façon de traiter la charge utile de réponse et peut également être utilisé pour attacher des métadonnées supplémentaires. Par exemple, si la valeur attachment, il indique que l'agent utilisateur doit pas afficher la réponse, mais un Enregistrer sous boîte de dialogue avec un nom de fichier différent du nom de l'objet blob spécifié.

La réponse de le Get Blob et Get Blob Properties (API REST) opérations inclut le content-disposition en-tête.

Origin

Facultatif. Spécifie l'origine à partir de laquelle la demande est émise. La présence de cet en-tête entraîne des en-têtes de partage de ressources cross-origine dans la réponse. Consultez Prise en charge du service Partage des ressources cross-origine (CORS) pour les services Azure Storage Pour plus d'informations.

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 écrire l'objet blob 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.

Le tableau suivant décrit les en-têtes de demande applicables uniquement pour les opérations sur des objets blob de pages.

En-tête de demande

Description

x-ms-blob-content-length: bytes

Obligatoire pour les objets blob de pages. Cet en-tête spécifie la taille maximale de l'objet blob de pages, jusqu'à 1 To. La taille de l'objet blob de pages doit être alignée à une limite de 512 octets.

Si cet en-tête est spécifié pour un objet blob de blocs ou un objet blob append, le service Blob retourne code d'état 400 (demande incorrecte).

x-ms-blob-sequence-number: <num>

Facultatif. Défini uniquement pour les objets blob de pages. Le numéro de séquence est une valeur contrôlée par l'utilisateur que vous pouvez utiliser pour suivre les demandes. La valeur du numéro de séquence doit être comprise entre 0 et 2^ 63 -1. la valeur par défaut est 0.

Pour un objet blob de blocs, le corps de la demande contient le contenu de l'objet blob.

Pour un objet blob de pages ou un objet blob append, le corps de la demande est vide.

L'exemple suivant illustre une demande de création d'un objet blob de blocs :

Request Syntax: PUT https://myaccount.blob.core.windows.net/mycontainer/myblockblob HTTP/1.1 Request Headers: x-ms-version: 2015-02-21 x-ms-date: <date> Content-Type: text/plain; charset=UTF-8 x-ms-blob-content-disposition: attachment; filename="fname.ext" x-ms-blob-type: BlockBlob x-ms-meta-m1: v1 x-ms-meta-m2: v2 Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g= Content-Length: 11 Request Body: hello world

Cet exemple de demande crée un objet blob de pages et spécifie une taille maximale de 1 024 octets. Notez que vous devez appeler Put Page (API REST) pour ajouter du contenu à un objet blob de pages :

Request Syntax: PUT https://myaccount.blob.core.windows.net/mycontainer/mypageblob HTTP/1.1 Request Headers: x-ms-version: 2015-02-21 x-ms-date: <date> Content-Type: text/plain; charset=UTF-8 x-ms-blob-type: PageBlob x-ms-blob-content-length: 1024 x-ms-blob-sequence-number: 0 Authorization: SharedKey Origin: http://contoso.com Vary: Origin myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g= Content-Length: 0

Cet exemple de demande crée un objet blob append. Notez que vous devez appeler pour ajouter du contenu dans l'objet blob append :

Request Syntax: PUT https://myaccount.blob.core.windows.net/mycontainer/myappendblob HTTP/1.1 Request Headers: x-ms-version: 2015-02-21 x-ms-date: <date> Content-Type: text/plain; charset=UTF-8 x-ms-blob-type: AppendBlob Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g= Origin: http://contoso.com Vary: Origin Content-Length: 0

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'état et d'erreur.

La réponse de l'opération inclut les en-têtes suivants. Elle peut également 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.

En-tête de réponse

Description

ETag

L'ETag contient une valeur que le client peut utiliser pour effectuer conditionnelle PUT opérations à l'aide de la If-Match en-tête de demande. Si la version de la demande est 18/08/2011 ou plus récente, la valeur de l'ETag sera entre guillemets.

Last-Modified

Date et heure de la dernière modification apportée à l'objet blob. 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.

Toute opération d'écriture dans l'objet blob (notamment les mises à jour des métadonnées ou des propriétés de l'objet blob), modifie la heure de la dernière modification de l'objet blob.

Content-MD5

Cet en-tête est retourné pour un objet blob de blocs afin que le client puisse vérifier l'intégrité du contenu du message. Le Content-MD5 valeur retournée est calculée par le service Blob. Dans la version 2012-02-12 et versions ultérieures, cet en-tête est retourné même si la demande n'inclut pas Content-MD5 ou x-ms-blob-content-md5 les en-têtes.

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

Access-Control-Allow-Origin

Retourné si la demande inclut une Origin CORS et en-tête est activée avec une règle de correspondance. Cet en-tête retourne la valeur de l'en-tête de demande d'origine en cas de correspondance.

Access-Control-Expose-Headers

Retourné si la demande inclut une Origin CORS et en-tête est activée avec une règle de correspondance. Retourne la liste des en-têtes de réponse qui doivent être exposés au client ou à l'émetteur de la demande.

Access-Control-Allow-Credentials

Retourné si la demande inclut une Origin CORS et en-tête est activée avec une règle de correspondance qui ne permet pas de toutes les origines. Cet en-tête doit avoir la valeur True.

Response Status: HTTP/1.1 201 Created Response Headers: Transfer-Encoding: chunked Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q== Date: <date> ETag: "0x8CB171BA9E94B0B" Last-Modified: <date> Access-Control-Allow-Origin: http://contoso.com Access-Control-Expose-Headers: Content-MD5 Access-Control-Allow-Credentials: True Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

Cette opération peut être appelée par le propriétaire du compte ou par un client avec une signature d'accès partagé qui dispose des autorisations nécessaires pour écrire dans cet objet blob ou son conteneur.

Lorsque vous créez un objet blob, vous devez spécifier si elle est un objet blob de blocs, ajouter des objets blob ou page blob en spécifiant la valeur de la x-ms-blob-type en-tête. Une fois qu'un objet blob a été créé, le type de l'objet blob ne peut pas être modifié sauf s'il est supprimé et recréé.

La taille maximale d'un objet blob de blocs créés via Put Blob est de 64 Mo. Si la taille de votre objet blob dépasse 64 Mo, vous devez le télécharger en tant qu'ensemble de blocs. Pour plus d'informations, consultez le Put Block (API REST) et Put Block List (API REST) operations. Il n'est pas nécessaire d'appel également Put Blob Si vous téléchargez l'objet blob comme un ensemble de blocs.

Si vous essayez de télécharger un objet blob de blocs plus grand que 64 Mo ou un objet blob de pages plus grand que 1 To, le service retourne le code d'état 413 (Entité de demande trop grande). Le service BLOB retourne également des informations supplémentaires sur l'erreur dans la réponse, notamment la taille d'objet blob maximale autorisée en octets.

Pour créer un nouvel objet blob de page, d'abord initialiser l'objet blob en appelant Put Blob et spécifiez le nombre maximal de taille, jusqu'à 1 To. Lors de la création d'un objet blob de pages, n'incluez pas de contenu dans le corps de demande. Une fois que l'objet blob a été créé, appelez Put Page (API REST) pour ajouter du contenu dans l'objet blob ou de le modifier.

Pour créer un objet blob append, appelez Put Blob pour créer un objet blob avec une longueur de contenu de zéro octet. Une fois que l'objet blob append est créée, appelez pour ajouter du contenu à la fin de l'objet blob.

Si vous appelez Put Blob pour remplacer un objet blob existant portant le même nom, tous les instantanés associés à l'objet blob d'origine sont conservés. Pour supprimer les instantanés associés, appelez Delete Blob tout d'abord, puis Put Blob pour recréer l'objet blob.

Un objet blob a des propriétés personnalisées (définies via les en-têtes) que vous pouvez utiliser pour stocker des valeurs associées aux en-têtes HTTP standard. Ces valeurs peuvent ensuite être lues en appelant Get Blob Properties (API REST), ou modifiée en appelant Set Blob Properties. Les en-têtes de propriété personnalisés et l'en-tête HTTP standard correspondant sont répertoriés dans le tableau suivant :

En-tête HTTP

En-tête de propriété personnalisé d'objet blob

Content-Type

x-ms-blob-content-type

Content-Encoding

x-ms-blob-content-encoding

Content-Language

x-ms-blob-content-language

Content-MD5

x-ms-blob-content-md5

Cache-Control

x-ms-blob-cache-control

La sémantique pour définir des valeurs de propriétés persistantes avec l'objet blob est la suivante :

  • Si le client spécifie un en-tête de propriété personnalisée, comme indiqué par la x-ms-blob préfixe, cette valeur est stockée avec l'objet blob.

  • Si le client spécifie un en-tête HTTP standard, mais pas l'en-tête de propriété personnalisée, la valeur est stockée dans la propriété personnalisée correspondante associée à l'objet blob et est retournée par un appel à Get Blob Properties. Par exemple, si le client définit le Content-Type en-tête dans la demande, que la valeur est stockée dans l'objet blob x-ms-blob-content-type propriété.

  • Si le client définit l'en-tête HTTP standard et l'en-tête de propriété correspondant dans la même demande, la demande PUT utilise la valeur fournie pour l'en-tête HTTP standard, mais la valeur spécifiée pour l'en-tête de propriété personnalisé est persistante avec l'objet blob et retournée par des demandes GET suivantes.

Si l'objet blob a un bail actif, le client doit spécifier un ID de bail valide dans la demande afin de remplacer l'objet blob. Si le client ne spécifie pas un ID de bail ou spécifie un ID de bail incorrect, le service BLOB retourne le code d'état 412 (Échec de la précondition). Si le client spécifie un ID de bail, mais que l'objet blob n'a pas de bail actif, le service BLOB retourne également le code d'état 412 (Échec de la précondition). Si le client spécifie un ID de bail sur un objet blob qui n'existe pas encore, le service BLOB retourne le code d'état 412 (Échec de la précondition) pour les requêtes effectuées avec la version du 15/08/2013 et les versions ultérieures ; pour les versions antérieures, le service BLOB retourne le code d'état 201 (Créé).

Si un objet blob existant avec un bail actif est remplacé par un Put Blob opération, le bail est conservé sur l'objet blob mis à jour, jusqu'à ce qu'il expire ou soit libéré.

Une Put Blob opération dispose de 10 minutes par Mo pour terminer. Si l'opération prend plus de 10 minutes par mégaoctet en moyenne, l'opération dépassera le délai d'expiration.

Afficher:
© 2016 Microsoft