Put BlobPut Blob

L' Put Blob opération crée un nouveau bloc, une nouvelle page ou un nouvel objet blob d’ajout, ou met à jour le contenu d’un objet blob de blocs existant.The Put Blob operation creates a new block, page, or append blob, or updates the content of an existing block blob.

La mise à jour d'un objet blob de blocs existant remplace toutes les métadonnées existantes de l'objet blob.Updating an existing block blob overwrites any existing metadata on the blob. Les mises à jour partielles ne sont pas prises en charge avec Put Blob. le contenu de l’objet BLOB existant est remplacé par le contenu du nouvel objet BLOB.Partial updates are not supported with Put Blob; the content of the existing blob is overwritten with the content of the new blob. Pour effectuer une mise à jour partielle du contenu d’un objet blob de blocs, utilisez l’opération Put Block List .To perform a partial update of the content of a block blob, use the Put Block List operation.

Notez que vous pouvez créer un objet blob d’ajout uniquement dans la version 2015-02-21 et les versions ultérieures.Note that you can create an append blob only in version 2015-02-21 and later.

Un appel à pour Put Blob créer un objet blob de pages ou un objet blob d’ajout Initialise uniquement l’objet BLOB.A call to a Put Blob to create a page blob or an append blob only initializes the blob. Pour ajouter du contenu à un objet blob de pages, appelez l’opération put page .To add content to a page blob, call the Put Page operation. Pour ajouter du contenu à un objet blob d’ajout, appelez l’opération d' Ajout de bloc .To add content to an append blob, call the Append Block operation.

RequêteRequest

La demande Put Blob peut être construite comme indiqué ci-dessous.The Put Blob request may be constructed as follows. HTTPS est recommandé.HTTPS is recommended. Remplacez moncompte par le nom de votre compte de stockage :Replace myaccount with the name of your storage account:

URI de demande de la méthode PUTPUT Method Request URI Version HTTPHTTP Version
https://myaccount.blob.core.windows.net/mycontainer/myblob HTTP/1.1HTTP/1.1

URI du service de stockage émuléEmulated storage service URI

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 de stockage émulé :When making a request against the emulated storage service, specify the emulator hostname and Blob service port as 127.0.0.1:10000, followed by the emulated storage account name:

URI de demande de la méthode PUTPUT Method Request URI Version HTTPHTTP Version
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1HTTP/1.1

Notez que l’émulateur de stockage prend uniquement en charge les tailles d’objet BLOB jusqu’à 2 Gio.Note that the storage emulator only supports blob sizes up to 2 GiB.

Pour plus d’informations, consultez utilisation de l’émulateur de stockage Azure pour le développement et le test.For more information, see Using the Azure Storage Emulator for Development and Testing.

Paramètres URIURI Parameters

Les paramètres supplémentaires suivants peuvent être spécifiés dans l'URI de la demande.The following additional parameters may be specified on the request URI.

ParamètreParameter DescriptionDescription
timeout facultatif.Optional. La clé publique du signataire doit être fournie à la classeThe

le paramètre timeout est exprimé en secondes.timeout parameter is expressed in seconds. Pour plus d’informations, consultez définition de délais d’attente pour les opérations de service BLOB.For more information, see Setting Timeouts for Blob Service Operations.

En-têtes de demande (tous les types d’objets BLOB)Request Headers (All Blob Types)

Le tableau suivant décrit les en-têtes de demande obligatoires et facultatifs pour tous les types d’objets BLOB.The following table describes required and optional request headers for all blob types.

En-tête de requêteRequest header DescriptionDescription
Authorization Obligatoire.Required. Spécifie le schéma d’autorisation, le nom de compte et la signature.Specifies the authorization scheme, account name, and signature. Pour plus d’informations, consultez autoriser les demandes dans le stockage Azure.For more information, see Authorize requests to Azure Storage.
Date ou x-ms-dateDate or x-ms-date Obligatoire.Required. Spécifie la date/heure en temps universel coordonné (UTC) pour la requête.Specifies the Coordinated Universal Time (UTC) for the request. Pour plus d’informations, consultez autoriser les demandes dans le stockage Azure.For more information, see Authorize requests to Azure Storage.
x-ms-version Obligatoire pour toutes les demandes autorisées.Required for all authorized requests. Spécifie la version de l'opération à utiliser pour cette demande.Specifies the version of the operation to use for this request. Pour plus d’informations, consultez contrôle de version pour les services de stockage Azure.For more information, see Versioning for the Azure Storage Services.
Content-Length Obligatoire.Required. La longueur de la demande.The length of the request.

Pour un objet blob de pages ou un objet blob d’ajout, la valeur de cet en-tête doit être définie sur zéro, car l' objet BLOB put est utilisé uniquement pour initialiser l’objet BLOB.For a page blob or an append blob, the value of this header must be set to zero, as Put Blob is used only to initialize the blob. Pour écrire du contenu dans un objet blob de pages existant, appelez la page put.To write content to an existing page blob, call Put Page. Pour écrire du contenu dans un objet blob d’ajout, appelez le bloc Append.To write content to an append blob, call Append Block.
Content-Type facultatif.Optional. Le type de contenu MIME de l'objet blob.The MIME content type of the blob. Le type par défaut est application/octet-stream.The default type is application/octet-stream.
Content-Encoding facultatif.Optional. Spécifie les codages de contenu qui ont été appliqués à l'objet blob.Specifies which content encodings have been applied to the blob. Cette valeur est retournée au client lorsque l’opération d' extraction d’objet BLOB est effectuée sur la ressource d’objet BLOB.This value is returned to the client when the Get Blob operation is performed on the blob resource. Le client peut utiliser cette valeur quand elle est retournée pour décoder le contenu de l'objet blob.The client can use this value when returned to decode the blob content.
Content-Language facultatif.Optional. Spécifie les langages naturels utilisés par cette ressource.Specifies the natural languages used by this resource.
Content-MD5 facultatif.Optional. Un hachage MD5 du contenu de l'objet blob.An MD5 hash of the blob content. Ce hachage est utilisé pour vérifier l'intégrité de l'objet blob pendant le transport.This hash is used to verify the integrity of the blob during 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é.When this header is specified, the storage service checks the hash that has arrived with the one that was sent. Si les deux hachages ne correspondent pas, l'opération échoue avec le code d'erreur 400 (Demande incorrecte).If the two hashes do not match, the operation will fail with error code 400 (Bad Request).

Quand il est omis à partir de la version du 12/02/2012, le service BLOB génère un hachage MD5.When omitted in version 2012-02-12 and later, the Blob service generates an MD5 hash.

Les résultats de la requête obtenir un objet BLOB, obtenir des propriétés d’objet BLOBet répertorier les objets BLOB incluent le hachage MD5.Results from Get Blob, Get Blob Properties, and List Blobs include the MD5 hash.
x-ms-content-crc64 facultatif.Optional. Hachage CRC64 du contenu de l’objet BLOB.A CRC64 hash of the blob content. Ce hachage est utilisé pour vérifier l'intégrité de l'objet blob pendant le transport.This hash is used to verify the integrity of the blob during 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é.When this header is specified, the storage service checks the hash that has arrived with the one that was sent. Si les deux hachages ne correspondent pas, l'opération échoue avec le code d'erreur 400 (Demande incorrecte).If the two hashes do not match, the operation will fail with error code 400 (Bad Request). Cet en-tête est pris en charge dans les versions 02-02-2019 ou ultérieures.This header is supported in versions 02-02-2019 or later.

Si les en-têtes Content-MD5 et x-ms-content-crc64 sont présents, la demande échoue avec un 400 (demande incorrecte).If both Content-MD5 and x-ms-content-crc64 headers are present, the request will fail with a 400 (Bad Request).
Cache-Control facultatif.Optional. Le service BLOB stocke cette valeur mais ne l'utilise pas ou ne la modifie pas.The Blob service stores this value but does not use or modify it.
x-ms-blob-content-type facultatif.Optional. Définit le type de contenu de l'objet blob.Set the blob’s content type.
x-ms-blob-content-encoding facultatif.Optional. Définit l'encodage du contenu de l'objet blob.Set the blob’s content encoding.
x-ms-blob-content-language facultatif.Optional. Définit la langue du contenu de l'objet blob.Set the blob's content language.
x-ms-blob-content-md5 facultatif.Optional. Définit le hachage MD5 de l'objet blob.Set the blob’s MD5 hash.
x-ms-blob-cache-control facultatif.Optional. Définit le contrôle du cache de l'objet blob.Sets the blob's cache control.
x-ms-blob-type: <BlockBlob | PageBlob | AppendBlob> Obligatoire.Required. Spécifie le type d’objet blob à créer : objet blob de blocs, objet blob de pages ou objet blob d’ajout.Specifies the type of blob to create: block blob, page blob, or append blob. La prise en charge de la création d’un objet blob d’ajout est disponible uniquement dans la version 2015-02-21 et les versions ultérieures.Support for creating an append blob is available only in version 2015-02-21 and later.
x-ms-meta-name:value facultatif.Optional. Paires nom-valeur associées à l'objet blob en tant que métadonnées.Name-value pairs associated with the blob as metadata.

Notez que depuis la version 2009-09-19, les noms de métadonnées doivent respecter les règles d’affectation de noms pour les identificateurs C#.Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers.
x-ms-encryption-scope facultatif.Optional. Indique l’étendue de chiffrement à utiliser pour chiffrer le contenu de la demande.Indicates the encryption scope to use to encrypt the request contents. Cet en-tête est pris en charge dans les versions 2019-02-02 ou ultérieures.This header is supported in versions 2019-02-02 or later.
x-ms-tags facultatif.Optional. Définit les balises encodées de chaîne de requête données sur l’objet BLOB.Sets the given query-string encoded tags on the blob. Pour plus d’informations, consultez les notes.See the Remarks for additional information. Pris en charge dans la version 2019-12-12 et les versions ultérieures.Supported in version 2019-12-12 and newer.
x-ms-lease-id:<ID> Obligatoire si l'objet blob a un bail actif.Required if the blob has an active lease. 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.To perform this operation on a blob with an active lease, specify the valid lease ID for this header.
x-ms-blob-content-disposition facultatif.Optional. Définit l'en-tête Content-Disposition de l'objet blob.Sets the blob’s Content-Disposition header. Disponible pour la version du 15/08/2013 et les versions ultérieures.Available for versions 2013-08-15 and later.

Le champ d'en-tête de réponse Content-Disposition donne des informations supplémentaires sur la manière de traiter la charge utile de réponse, et peut également être utilisé pour attacher des métadonnées supplémentaires.The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. Afficher par exemple, s'il a la valeur attachment, il indique que l'agent utilisateur ne doit pas afficher la réponse, mais une boîte de dialogue Enregistrer sous avec un nom de fichier différent du nom d'objet blob spécifié.For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified.

La réponse des opérations d' extraction d’objet BLOB et d' extraction de propriétés d’objet BLOB comprend l' content-disposition en-tête.The response from the Get Blob and Get Blob Properties operations includes the content-disposition header.
Origin facultatif.Optional. Spécifie l'origine à partir de laquelle la demande est émise.Specifies the origin from which the request is issued. La présence de cet en-tête entraîne des en-têtes de partage de ressources cross-origine dans la réponse.The presence of this header results in cross-origin resource sharing headers on the response. Pour plus d’informations, consultez prise en charge de cors pour les services de stockage .See CORS Support for the Storage Services for details.
x-ms-client-request-id facultatif.Optional. Fournit une valeur opaque générée par le client avec une limite de 1 Kio de caractères qui est enregistrée dans les journaux d’analyse lorsque la journalisation de l’analyse de stockage est activée.Provides a client-generated, opaque value with a 1 KiB character limit that is recorded in the analytics logs when storage analytics logging is enabled. L’utilisation de cet en-tête est fortement recommandée pour la mise en corrélation des activités côté client avec les requêtes reçues par le serveur.Using this header is highly recommended for correlating client-side activities with requests received by the server. Pour plus d’informations, consultez à propos de la journalisation des Storage Analytics et de la journalisation Azure : utilisation des journaux pour suivre les demandes de stockage.For more information, see About Storage Analytics Logging and Azure Logging: Using Logs to Track Storage Requests.
x-ms-access-tier facultatif.Optional. Indique le niveau à définir sur l’objet BLOB.Indicates the tier to be set on blob. Pour les objets BLOB de pages sur un compte de stockage Premium uniquement avec la version 2017-04-17 et les versions ultérieures.For page blobs on a premium storage account only with version 2017-04-17 and newer. Pour obtenir la liste complète des niveaux pris en charge pour les objets BLOB de pages , consultez stockage Premium hautes performances et disques managés pour les machines virtuelles .Check High-performance Premium Storage and managed disks for VMs for a full list of page blob supported tiers. Pour les objets BLOB de blocs, pris en charge sur les comptes stockage BLOB ou usage général v2 uniquement avec la version 2018-11-09 et les versions ultérieures.For block blobs, supported on blob storage or general purpose v2 accounts only with version 2018-11-09 and newer. Les valeurs valides pour les niveaux d’objet blob de blocs sont Hot / Cool / Archive .Valid values for block blob tiers are Hot/Cool/Archive. Pour plus d’informations sur la hiérarchisation des objets BLOB de blocs , consultez niveaux de stockage chaud, froid et Archive.For detailed information about block blob tiering see Hot, cool and archive storage tiers.

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.This operation also supports the use of conditional headers to write the blob only if a specified condition is met. Pour plus d’informations, consultez Spécification des en-têtes conditionnels pour les opérations du service Blob.For more information, see Specifying Conditional Headers for Blob Service Operations.

En-têtes de demande (objets blob de pages uniquement)Request Headers (Page Blobs Only)

Le tableau suivant décrit les en-têtes de demande applicables uniquement pour les opérations sur des objets blob de pages.The following table describes request headers applicable only for operations on page blobs.

En-tête de requêteRequest header DescriptionDescription
x-ms-blob-content-length: bytes Obligatoire pour les objets blob de pages.Required for page blobs. Cet en-tête spécifie la taille maximale de l’objet blob de pages, jusqu’à 8 Tio.This header specifies the maximum size for the page blob, up to 8 TiB. La taille de l'objet blob de pages doit être alignée à une limite de 512 octets.The page blob size must be aligned to a 512-byte boundary.

Si cet en-tête est spécifié pour un objet blob de blocs ou un objet blob d’ajout, le service BLOB retourne le code d’état 400 (requête incorrecte).If this header is specified for a block blob or an append blob, the Blob service returns status code 400 (Bad Request).
x-ms-blob-sequence-number: <num> facultatif.Optional. Défini uniquement pour les objets blob de pages.Set for page blobs only. Le numéro de séquence est une valeur contrôlée par l'utilisateur que vous pouvez utiliser pour suivre les demandes.The sequence number is a user-controlled value that you can use to track requests. La valeur du numéro de séquence doit être comprise entre 0 et 2^63 - 1. La valeur par défaut 0.The value of the sequence number must be between 0 and 2^63 - 1.The default value is 0.
x-ms-access-tier Version 2017-04-17 et versions ultérieures.Version 2017-04-17 and newer. Pour les objets BLOB de pages sur un compte de stockage Premium uniquement.For page blobs on a premium storage account only. Spécifie le niveau à définir sur l’objet BLOB.Specifies the tier to be set on the blob. Pour obtenir la liste complète des niveaux pris en charge , consultez stockage Premium hautes performances et disques managés pour les machines virtuelles .Check High-performance Premium Storage and managed disks for VMs for a full list of supported tiers.
x-ms-client-request-id Cet en-tête peut être utilisé pour dépanner les demandes et les réponses correspondantes.This header can be used to troubleshoot requests and corresponding responses. La valeur de cet en-tête est égale à la valeur de l' x-ms-client-request-id en-tête si elle est présente dans la demande et que la valeur est supérieure à 1024 caractères ASCII visibles.The value of this header is equal to the value of the x-ms-client-request-id header if it is present in the request and the value is at most 1024 visible ASCII characters. Si l' x-ms-client-request-id en-tête n’est pas présent dans la demande, cet en-tête ne sera pas présent dans la réponse.If the x-ms-client-request-id header is not present in the request, this header will not be present in the response.

En-têtes de demande (clés de chiffrement fournies par le client)Request Headers (Customer-provided encryption keys)

À partir de la version 2019-02-02, les en-têtes suivants peuvent être spécifiés sur la demande pour chiffrer un objet BLOB avec une clé fournie par le client.Beginning with version 2019-02-02, the following headers may be specified on the request to encrypt a blob with a customer-provided key. Le chiffrement avec une clé fournie par le client (et le jeu d’en-têtes correspondant) est facultatif.Encryption with a customer-provided key (and the corresponding set of headers) is optional.

En-tête de requêteRequest header DescriptionDescription
x-ms-encryption-key Obligatoire.Required. Clé de chiffrement AES-256 encodée en base64.The Base64-encoded AES-256 encryption key.
x-ms-encryption-key-sha256 Obligatoire.Required. Hachage SHA256 encodé en base64 de la clé de chiffrement.The Base64-encoded SHA256 hash of the encryption key.
x-ms-encryption-algorithm: AES256 Obligatoire.Required. Spécifie l’algorithme à utiliser pour le chiffrement.Specifies the algorithm to use for encryption. La valeur de cet en-tête doit être AES256 .The value of this header must be AES256.

Corps de la demandeRequest Body

Pour un objet blob de blocs, le corps de la demande contient le contenu de l'objet blob.For a block blob, the request body contains the content of the blob.

Pour un objet blob de pages ou un objet blob d’ajout, le corps de la demande est vide.For a page blob or an append blob, the request body is empty.

Exemple de demandeSample Request

L'exemple suivant illustre une demande de création d'un objet blob de blocs :The following example shows a request to create a block blob:

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.This sample request creates a page blob and specifies its maximum size as 1024 bytes. Notez que vous devez appeler put page pour ajouter du contenu à un objet blob de pages :Note that you must call Put Page to add content to a page blob:

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 d’ajout.This sample request creates an append blob. Notez que vous devez appeler le bloc Append pour ajouter du contenu à l’objet BLOB Append :Note that you must call Append Block to add content to the append blob:

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  
  

responseResponse

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.The response includes an HTTP status code and a set of response headers.

Code d’étatStatus Code

Une opération réussie renvoie le code d'état 201 (Créé).A successful operation returns status code 201 (Created).

Pour plus d’informations sur les codes d’État, consultez codes d’État et d’erreur.For information about status codes, see Status and Error Codes.

En-têtes de réponseResponse Headers

La réponse de l'opération inclut les en-têtes suivants.The response for this operation includes the following headers. La réponse peut également inclure des en-têtes HTTP standard supplémentaires.The response can also include additional standard HTTP headers. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.All standard headers conform to the HTTP/1.1 protocol specification.

En-tête de réponseResponse header DescriptionDescription
ETag L'ETag contient une valeur que le client peut utiliser pour effectuer des opérations PUT conditionnelles en utilisant l'en-tête de demande If-Match.The ETag contains a value that the client can use to perform conditional PUT operations by using the If-Match request header. Si la version de la demande est 18/08/2011 ou plus récente, la valeur de l'ETag sera entre guillemets.If the request version is 2011-08-18 or newer, the ETag value will be in quotes.
Last-Modified Date et heure de la dernière modification apportée à l'objet blob.The date/time that the blob was last modified. Le format de date est conforme à la RFC 1123.The date format follows RFC 1123. Pour plus d’informations, consultez représentation des valeurs de date et d’heure dans les en-têtes.For more information, see Representation of Date-Time Values in Headers.

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.Any write operation on the blob (including updates on the blob's metadata or properties) changes the last modified time of the 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.This header is returned for a block blob so the client can check the integrity of message content. La valeur Content-MD5 retournée est calculée par le service BLOB.The Content-MD5 value returned is computed by the Blob service. À partir de la version du 12/02/2012, cet en-tête est retourné même si la demande n'inclut pas d'en-têtes Content-MD5 ou x-ms-blob-content-md5.In version 2012-02-12 and later, this header is returned even when the request does not include Content-MD5 or x-ms-blob-content-md5 headers.
x-ms-content-crc64 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.This header is returned for a block blob so the client can check the integrity of message content. La valeur x-ms-content-crc64 retournée est calculée par le service BLOB.The x-ms-content-crc64 value returned is computed by the Blob service. Cet en-tête sera toujours retourné à partir de la version 2019-02-02.This header will always be returned starting from version 2019-02-02.
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.This header uniquely identifies the request that was made and can be used for troubleshooting the request. Pour plus d’informations, consultez Troubleshooting API Operations.For more information, see Troubleshooting API Operations.
x-ms-version Indique la version du service BLOB utilisée pour exécuter la demande.Indicates the version of the Blob service used to execute the request. Cet en-tête est renvoyé pour les demandes effectuées avec la version 2009-09-19 ou une version ultérieure.This header is returned for requests made against version 2009-09-19 and later.
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.A UTC date/time value generated by the service that indicates the time at which the response was initiated.
Access-Control-Allow-Origin Retourné si la demande inclut un en-tête Origin et le partage de ressources cross-origine (CORS) est activé avec une règle de correspondance.Returned if the request includes an Origin header and CORS is enabled with a matching rule. Cet en-tête retourne la valeur de l'en-tête de demande d'origine en cas de correspondance.This header returns the value of the origin request header in case of a match.
Access-Control-Expose-Headers Retourné si la demande inclut un en-tête Origin et le partage de ressources cross-origine (CORS) est activé avec une règle de correspondance.Returned if the request includes an Origin header and CORS is enabled with a matching rule. Retourne la liste des en-têtes de réponse qui doivent être exposés au client ou à l'émetteur de la demande.Returns the list of response headers that are to be exposed to the client or issuer of the request.
Access-Control-Allow-Credentials Retourné si la demande inclut un en-tête Origin et le partage de ressources cross-origine (CORS) est activé avec une règle de correspondance qui n'autorise pas toutes les origines.Returned if the request includes an Origin header and CORS is enabled with a matching rule that does not allow all origins. Cet en-tête doit avoir la valeur True.This header will be set to true.
x-ms-request-server-encrypted: true/false Version 2015-12-11 ou ultérieure.Version 2015-12-11 or newer. La valeur de cet en-tête est définie sur true si le contenu de la demande est correctement chiffré à l’aide de l’algorithme spécifié et dans le false cas contraire.The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise.
x-ms-encryption-key-sha256 Version 2019-02-02 ou ultérieure.Version 2019-02-02 or newer. Cet en-tête est retourné si la demande utilise une clé fournie par le client pour le chiffrement, afin que le client puisse s’assurer que le contenu de la demande est correctement chiffré à l’aide de la clé fournie.This header is returned if the request used a customer-provided key for encryption, so the client can ensure the contents of the request are successfully encrypted using the provided key.
x-ms-encryption-scope Version 2019-02-02 ou ultérieure.Version 2019-02-02 or newer. Cet en-tête est retourné si la demande a utilisé une étendue de chiffrement, afin que le client puisse s’assurer que le contenu de la demande est correctement chiffré à l’aide de l’étendue de chiffrement.This header is returned if the request used an encryption scope, so the client can ensure the contents of the request are successfully encrypted using the encryption scope.
x-ms-version-id: <DateTime> Version 2019-12-12 et versions ultérieures.Version 2019-12-12 and newer. Cet en-tête retourne une DateTime valeur opaque qui identifie de façon unique l’objet BLOB.This header returns an opaque DateTime value that uniquely identifies the blob. La valeur de cet en-tête indique la version de l’objet BLOB et peut être utilisée dans les demandes suivantes pour accéder à l’objet BLOB.The value of this header indicates the Version of the blob, and may be used in subsequent requests to access the blob.

Corps de la réponseResponse Body

Aucun.None.

Exemple de réponseSample Response

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==  
x-ms-content-crc64: 77uWZTolTHU
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  
x-ms-version-id: <DateTime>  

AutorisationAuthorization

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.This operation can be called by the account owner and by any client with a shared access signature that has permission to write to this blob or its container.

Si une demande spécifie des balises avec l' x-ms-tags en-tête de demande, l’appelant doit respecter les exigences d’autorisation de l’opération définir les balises d’objet BLOB .If a request specifies tags with the x-ms-tags request header, the caller must meet the authorization requirements of the Set Blob Tags operation.

RemarquesRemarks

Lorsque vous créez un objet BLOB, vous devez spécifier s’il s’agit d’un objet blob de blocs, d’un objet blob d’ajout ou d’un objet blob de pages en spécifiant la valeur de l' x-ms-blob-type en-tête.When you create a blob, you must specify whether it is a block blob, append blob, or page blob by specifying the value of the x-ms-blob-type header. 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éé.Once a blob has been created, the type of the blob cannot be changed unless it is deleted and re-created.

La taille maximale d’un objet blob de blocs créé via Put Blob est 256 MiB pour la version 2016-05-31 et versions ultérieures, et 64 MiB pour les versions antérieures.The maximum size for a block blob created via Put Blob is 256 MiB for version 2016-05-31 and later, and 64 MiB for older versions. Si la taille de votre objet blob est supérieure à 256 MiB pour la version 2016-05-31 ou ultérieure, ou 64 MiB pour les versions antérieures, vous devez le charger sous la forme d’un ensemble de blocs.If your blob is larger than 256 MiB for version 2016-05-31 and later, or 64 MiB for older versions, you must upload it as a set of blocks. Pour plus d’informations, consultez Put Block et Put Block Listoperations.For more information, see the Put Block and Put Block Listoperations. Il n’est pas nécessaire d’appeler également Put Blob si vous téléchargez l’objet blob sous la forme d’un ensemble de blocs.It's not necessary to also call Put Blob if you upload the blob as a set of blocks.

Si vous essayez de charger un objet blob de blocs supérieur à 256 MiB pour la version 2016-05-31 ou ultérieure, et 64 MiB pour des versions antérieures, ou un objet blob de pages supérieur à 8 Tio, le service retourne le code d’État 413 (entité de demande trop grande).If you attempt to upload a block blob that is larger than 256 MiB for version 2016-05-31 and later, and 64 MiB for older versions, or a page blob larger than 8 TiB, the service returns status code 413 (Request Entity Too Large). 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.The Blob service also returns additional information about the error in the response, including the maximum blob size permitted in bytes.

Pour créer un objet blob de pages, commencez par initialiser l’objet BLOB en appelant Put Blob et en spécifiant sa taille maximale, jusqu’à 8 Tio.To create a new page blob, first initialize the blob by calling Put Blob and specify its maximum size, up to 8 TiB. Lors de la création d'un objet blob de pages, n'incluez pas de contenu dans le corps de demande.When creating a page blob, do not include content in the request body. Une fois l’objet BLOB créé, appelez la page put pour ajouter du contenu à l’objet BLOB ou pour le modifier.Once the blob has been created, call Put Page to add content to the blob or to modify it.

Pour créer un nouvel objet blob d’ajout, appelez Put Blob pour créer un objet BLOB avec une longueur de contenu de zéro octet.To create a new append blob, call Put Blob to create a blob with a content-length of zero bytes. Une fois l’objet blob d’ajout créé, appelez le bloc Append pour ajouter du contenu à la fin de l’objet BLOB.Once the append blob is created, call Append Block to add content to the end of the 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.If you call Put Blob to overwrite an existing blob with the same name, any snapshots associated with the original blob are retained. Pour supprimer les instantanés associés, appelez d’abord Delete BLOB , puis Put Blob recréez l’objet BLOB.To remove associated snapshots, call Delete Blob first, then Put Blob to re-create the 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.A blob has custom properties (set via headers) that you can use to store values associated with standard HTTP headers. Ces valeurs peuvent être lues par la suite en appelant les propriétés de l' objet BLOB, ou modifiées par l’appel de Propriétés Set Blob.These values can subsequently be read by calling Get Blob Properties, or modified by calling 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 :The custom property headers and corresponding standard HTTP header are listed in the following table:

En-tête HTTPHTTP header En-tête de propriété personnalisé d'objet blobCustom blob property header
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 :The semantics for setting persisting these property values with the blob as follows:

  • Si le client spécifie un en-tête de propriété personnalisé, comme indiqué par le préfixe x-ms-blob, cette valeur est stockée avec l'objet blob.If the client specifies a custom property header, as indicated by the x-ms-blob prefix, this value is stored with the blob.

  • Si le client spécifie un en-tête HTTP standard, mais pas l'en-tête de propriété personnalisé, 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.If the client specifies a standard HTTP header, but not the custom property header, the value is stored in the corresponding custom property associated with the blob, and is returned by a call to Get Blob Properties. Par exemple, si le client définit l'en-tête Content-Type dans la demande, cette valeur est stockée dans la propriété x-ms-blob-content-type de l'objet blob.For example, if the client sets the Content-Type header on the request, that value is stored in the blob's x-ms-blob-content-type property.

  • 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.If the client sets both the standard HTTP header and the corresponding property header on the same request, the PUT request uses the value provided for the standard HTTP header, but the value specified for the custom property header is persisted with the blob and returned by subsequent GET requests.

Si des balises sont fournies dans l' x-ms-tags en-tête, elles doivent être codées en chaîne de requête.If tags are provided in the x-ms-tags header, they must be query-string encoded. Les clés et valeurs de balise doivent respecter les exigences de nommage et de longueur comme spécifié dans définir des balises d’objet BLOB.Tag keys and values must conform to the naming and length requirements as specified in Set Blob Tags. En outre, l' x-ms-tags en-tête peut contenir jusqu’à 2 Ko de balises.Further, the x-ms-tags header may contain up to 2kb of tags. Si davantage de balises sont requises, utilisez l’opération définir les balises d’objet BLOB .If more tags are required, use the Set Blob Tags operation.

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.If the blob has an active lease, the client must specify a valid lease ID on the request in order to overwrite the 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).If the client does not specify a lease ID, or specifies an invalid lease ID, the Blob service returns status code 412 (Precondition Failed). 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).If the client specifies a lease ID but the blob does not have an active lease, the Blob service also returns status code 412 (Precondition Failed). 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éé).If the client specifies a lease ID on a blob that does not yet exist, the Blob service will return status code 412 (Precondition Failed) for requests made against version 2013-08-15 and later; for prior versions the Blob service will return status code 201 (Created).

Si un objet blob existant avec un bail actif est remplacé par une opération Put Blob, le bail persiste dans l'objet blob mis à jour, jusqu'à ce qu'il expire ou soit libéré.If an existing blob with an active lease is overwritten by a Put Blob operation, the lease persists on the updated blob, until it expires or is released.

Une Put Blob opération est autorisée 10 minutes par MIB à se terminer.A Put Blob operation is permitted 10 minutes per MiB to complete. Si l’opération prend plus de 10 minutes par MiB en moyenne, l’opération expire.If the operation is taking longer than 10 minutes per MiB on average, the operation will timeout.

Le remplacement d’un objet BLOB archivé échoue et le remplacement d’un hot / cool objet BLOB hérite du niveau de l’ancien objet blob Si l’en-tête x-MS-Access-Tier n’est pas fourni.Overwriting an archived blob will fail and overwriting a hot/cool blob will inherit the tier from the old blob if x-ms-access-tier header is not provided.

Voir aussiSee Also

Autoriser les demandes au stockage Azure Authorize requests to Azure Storage
Codes d’État et d’erreur Status and Error Codes
Codes d’erreur du service BLOB Blob Service Error Codes
Définition de délais d'expiration pour les opérations du service BLOBSetting Timeouts for Blob Service Operations