Exporter (0) Imprimer
Développer tout

Get Blob

Mis à jour: juin 2014

L'opération Get Blob lit ou télécharge un objet blob à partir du système, y compris ses métadonnées et propriétés. Vous pouvez également appeler Get Blob pour lire un instantané.

La demande Get 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 méthode GET Version HTTP

https://myaccount.blob.core.windows.net/mycontainer/myblob

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

HTTP/1,0

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

 

  URI de demande de méthode GET Version HTTP

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

HTTP/1,0

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.

 

Paramètre Description

snapshot

Facultatif. Le paramètre instantané est une valeur opaque DateTime qui, lorsqu'il est présent, spécifie l'instantané d'objets blob à récupérer. Pour plus d'informations sur l'utilisation des instantanés d'objet blob, consultez Création d'un instantané d'objet BLOB.

timeout

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, facultatif pour les demandes anonymes. 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.

Range

Facultatif. Retournez uniquement les octets de l'objet blob dans la plage spécifiée.

x-ms-range

Facultatif. Retournez uniquement les octets de l'objet blob dans la plage spécifiée. Si Range et x-ms-range sont spécifiés, le service utilise la valeur de x-ms-range. Si aucun n'est spécifié, l'intégralité du contenu de l'objet blob est retourné. Pour plus d'informations, consultez Spécification de l'en-tête Range pour les opérations du service BLOB.

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

x-ms-range-get-content-md5: true

Facultatif. Lorsque cet en-tête est défini à true et spécifié avec l'en-tête Range, le service retourne le hachage MD5 pour la plage, tant que la taille de la plage est inférieure ou égale à 4 Mo.

Si cet en-tête est spécifié sans l'en-tête Range, le service retourne le code d'état 400 (Demande incorrecte).

Si cet en-tête est défini à true lorsque la taille de la plage dépasse 4 Mo, le service retourne le code d'état 400 (Demande incorrecte).

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 (CORS) dans la réponse.

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 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 lire l'objet blob uniquement si une condition donnée est remplie. Pour plus d'informations, consultez Spécification des en-têtes conditionnels pour les opérations du service BLOB.

La réponse comprend un code d'état HTTP, un ensemble d'en-têtes de réponse et le corps de réponse qui contient le contenu de l'objet blob.

Une opération ayant réussi pour lire l'objet blob complet retourne le code d'état 200 (OK).

Une opération ayant réussi pour lire une plage spécifiée retourne le code d'état 206 (Contenu partiel).

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

Last-Modified

Date et heure de la dernière modification apportée à l'objet blob. Le format de date est conforme à la RFC 1123.

Toute opération qui modifie l'objet blob, notamment une mise à jour des métadonnées ou des propriétés de l'objet blob, modifie l'heure de la dernière modification de l'objet blob.

x-ms-meta-name:value

Un ensemble de paires nom-valeur associées à cet objet blob en tant que métadonnées définies par l'utilisateur.

Content-Length

Le nombre d'octets présents dans le corps de la réponse.

Content-Type

Le type de contenu spécifié pour l'objet blob. Le type de contenu par défaut est application/octet-stream.

Content-Range

Indique la plage d'octets retournés au cas où le client demandait un sous-ensemble de l'objet blob en définissant l'en-tête de demande Range.

ETag

L'ETag contient une valeur que vous pouvez utiliser pour exécuter des opérations conditionnellement. Pour plus d'informations, consultez Spécification des en-têtes conditionnels pour les opérations du service BLOB. Si la version de la demande est 18/08/2011 ou plus récente, la valeur de l'ETag sera entre guillemets.

Content-MD5

Si l'objet blob a un hachage MD5 et que cette opération Get Blob doit lire l'objet blob dans son entier, cet en-tête de réponse est retourné afin que le client puisse vérifier l'intégrité du contenu du message.

À partir de la version du 12/02/2012, Put Blob définit une valeur de hachage MD5 de l'objet blob de blocs même si la demande Put Blob n'inclut pas d'en-tête MD5.

Si la demande doit lire une plage spécifiée et que x-ms-range-get-content-md5 a la valeur true, la demande retourne un hachage MD5pour la plage, tant que la taille de la plage est inférieure ou égale à 4 Mo.

Si aucun de ces ensembles de conditions n'est vrai, alors aucune valeur n'est retournée pour l'en-tête Content-MD5.

Si x-ms-range-get-content-md5 est spécifié sans l'en-tête Range, le service retourne le code d'état 400 (Demande incorrecte).

Si x-ms-range-get-content-md5 a la valeur true lorsque la taille de la plage dépasse 4 Mo, le service retourne le code d'état 400 (Demande incorrecte).

Content-Encoding

Cet en-tête retourne la valeur qui a été spécifiée pour l'en-tête de demande Content-Encoding.

Content-Language

Cet en-tête retourne la valeur qui a été spécifiée pour l'en-tête de demande Content-Language.

Cache-Control

Cet en-tête est retourné s'il a été précédemment spécifié pour l'objet blob.

Content-Disposition

Retourné pour les demandes effectuées avec la version du 15/08/2013 ou les versions ultérieures. Cet en-tête retourne la valeur qui a été spécifiée pour l'en-tête x-ms-blob-content-disposition.

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

x-ms-blob-sequence-number

Le numéro de séquence actuel d'un objet blob de pages.

Cet en-tête n'est pas retourné pour les objets blob de blocs.

x-ms-blob-type: <BlockBlob,PageBlob>

Retourne le type de l'objet blob.

x-ms-copy-completion-time:<datetime>

Version du 12/02/2012 et ultérieure. L'heure de conclusion de la dernière tentative d'opération Copy Blob où cet objet blob était l'objet blob de destination. Cette valeur peut spécifier l'heure d'une tentative de copie qui s'est terminée, qui a été annulée ou qui a échoué. Cet en-tête n'apparaît pas si une copie est en attente, si cet objet blob n'a jamais été la destination dans une opération Copy Blob, ou si cet objet blob a été modifié après une opération Copy Blob terminée avec Set Blob Properties, Put Blob ou Put Block List.

x-ms-copy-status-description: <error string>

Version du 12/02/2012 et ultérieure. Apparaît uniquement lorsque x-ms-copy-status est failed ou pending. Décrit la cause du dernier échec de l'opération de copie irrécupérable ou non. Cet en-tête n'apparaît pas si cet objet blob n'a jamais été la destination dans une opération Copy Blob, ou si cet objet blob a été modifié après une opération Copy Blob avec Set Blob Properties, Put Blob ou Put Block List.

x-ms-copy-id: <id>

Version du 12/02/2012 et ultérieure. Identificateur de chaîne pour la dernière tentative de l'opération Copy Blob où cet objet blob était l'objet blob de destination. Cet en-tête n'apparaît pas si cet objet blob n'a jamais été la destination dans une opération Copy Blob, ou si cet objet blob a été modifié après une opération Copy Blob avec Set Blob Properties, Put Blob ou Put Block List.

x-ms-copy-progress: <bytes copied/bytes total>

Version du 12/02/2012 et ultérieure. Contient le nombre d'octets copiés et le nombre d'octets total dans la source de la dernière tentative d'opération Copy Blob où cet objet blob était l'objet blob de destination. Peut afficher entre 0 et Content-Length octets copiés. Cet en-tête n'apparaît pas si cet objet blob n'a jamais été la destination dans une opération Copy Blob, ou si cet objet blob a été modifié après une opération Copy Blob avec Set Blob Properties, Put Blob ou Put Block List.

x-ms-copy-source: url

Version du 12/02/2012 et ultérieure. L'URL avec une longueur maximale de 2 Ko qui spécifie l'objet blob source ou le fichier utilisé dans la dernière tentative d'opération Copy Blob où cet objet blob était l'objet blob de destination. Cet en-tête n'apparaît pas si cet objet blob n'a jamais été la destination dans une opération Copy Blob, ou si cet objet blob a été modifié après une opération Copy Blob avec Set Blob Properties, Put Blob ou Put Block List.

x-ms-copy-status: <pending | success | aborted | failed>

Version du 12/02/2012 et ultérieure. L'état de l'opération de copie identifié par x-ms-copy-id, avec les valeurs :

  • success : copie terminée avec succès.

  • pending : copie en cours. Vérifiez si x-ms-copy-status-description est intermittent, les erreurs récupérables ralentissent la progression de la copie mais ne provoquent pas de défaillance.

  • aborted : la copie a été arrêtée par Abort Blob Copy.

  • failed : échec de la copie. Consultez x-ms-copy-status-description pour les détails de l'échec.

Cet en-tête n'apparaît pas si cet objet blob n'a jamais été la destination dans une opération Copy Blob, ou si cet objet blob a été modifié après une opération Copy Blob avec Set Blob Properties, Put Blob ou Put Block List.

x-ms-lease-duration: <infinite | fixed>

Version du 12/02/2012 et ultérieure. Quand un objet blob est loué, spécifie si le bail est d'une durée illimitée ou fixe.

x-ms-lease-state: <available | leased | expired | breaking | broken>

Version du 12/02/2012 et ultérieure. État du bail de l'objet blob.

x-ms-lease-status:<locked, unlocked>

L'état de bail actuel de l'objet blob.

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. Inclus pour les demandes qui utilisent la version du 19.09.09 et les versions ultérieures.

Cet en-tête est également retourné pour les demandes anonymes sans version spécifiée si le conteneur était marqué pour un accès public à l'aide de la version du 19/09/2009 du service BLOB.

Accept-Ranges: bytes

Indique que le service prend en charge les demandes pour le contenu partiel d'objets blob. Inclus pour les demandes effectuées à l'aide de la version du 18/08/2011 et versions ultérieures et pour le service de stockage local dans le Kit de développement logiciel (SDK) 1.6 ou ultérieur.

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 un en-tête Origin et le partage de ressources cross-origine (CORS) est activé 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 un en-tête Origin et le partage de ressources cross-origine (CORS) est activé 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.

Vary

Retourné avec la valeur de l'en-tête Origin lorsque des règles CORS sont spécifiées. Pour plus d'informations, consultez Prise en charge du service Partage des ressources cross-origine (CORS) pour les services de stockage Azure.

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. Cet en-tête doit avoir la valeur True.

Le corps de la réponse contient le contenu de l'objet blob.

Status Response:
HTTP/1.1 200 OK

Response Headers:
x-ms-blob-type: BlockBlob
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-meta-m1: v1
x-ms-meta-m2: v2
Content-Length: 11
Content-Type: text/plain; charset=UTF-8
Date: Wed, 23 Oct 2013 22:49:18 GMT
ETag: "0x8CB171DBEAD6A6B"
Vary: Origin
Last-Modified: Wed, 23 Oct 2013 22:48:29 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

Si la liste de contrôle d'accès (ACL) du conteneur autorise l'accès anonyme à l'objet blob, n'importe quel client peut appeler cette opération. Si le conteneur est privé, cette opération peut être exécutée par le propriétaire du compte et par toute personne qui dispose d'une signature d'accès partagé qui a l'autorisation de lire l'objet blob.

Pour un objet blob de pages, une opération Get Blob sur une plage de pages qui n'a pas encore de contenu ou qui a été vidée, retourne des zéros pour ces octets.

Si vous appelez Get Blob sur un objet blob de pages sans plage spécifiée, le service retourne la plage des pages jusqu'à la valeur spécifiée pour l'en-tête x-ms-blob-content-length. Pour toutes les pages qui n'ont pas de contenu, le service retourne des zéros pour ces octets.

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

L'en-tête x-ms-version est requis pour récupérer un objet blob qui appartient à un conteneur privé. Si l'objet blob appartient à un conteneur qui est disponible pour un accès public complet ou partiel, n'importe quel client peut le lire sans spécifier une version ; la version du service n'est pas obligatoire pour récupérer un objet blob qui appartient à un conteneur public. Pour plus d'informations, consultez Limiter l'accès aux conteneurs et aux objets BLOB.

Opérations de copie

Pour déterminer si une opération Copy Blob est terminée, vérifiez que la valeur d'en-tête x-ms-copy-id de l'objet blob de destination correspond à l'ID de copie fournie par l'appel d'origine à Copy Blob. Une correspondance garantit qu'une autre application n'a pas annulé la copie et n'a pas démarré une nouvelle opération Copy Blob. Contrôlez ensuite l'en-tête x-ms-copy-status: success. Toutefois, n'oubliez pas que toutes les opérations d'écriture dans un objet blob à l'exception des opérations Lease, Put Page et Put Block suppriment toutes les propriétés x-ms-copy-* de l'objet blob. Ces propriétés ne sont également pas copiées par les opérations Copy Blob qui utilisent des versions - antérieures au 12/02/2012.

Lorsque x-ms-copy-status: failed s'affiche dans la réponse, x-ms-copy-status-description contient plus d'informations sur l'échec Copy Blob.

Le tableau suivant décrit les trois champs de chaque valeur x-ms-copy-status-description.

 

Composant Description

Code d'état HTTP

Entier de 3chiffres standard indiquant la défaillance.

Code d'erreur

Mot clé décrivant l'erreur qui est fourni par Azure dans l'élément <ErrorCode>. Si aucun élément <ErrorCode> n'apparaît, un mot clé contenant le texte d'erreur standard associé au code d'état HTTP à 3 chiffres dans la spécification HTTP est utilisé. Consultez Codes d'erreur API REST courants.

Informations

Description détaillée de l'échec, entre guillemets.

Le tableau suivant décrit les valeurs x-ms-copy-status et x-ms-copy-status-description des scénarios d'échec courants.

ImportantImportant
Le texte de description indiqué ici peut changer sans avertissement, même sans modification de version, il peut donc ne pas être exactement identique.

 

Scénario Valeur x-ms-copy-status Valeur x-ms-copy-status-description

L'opération de copie s'est terminée avec succès.

réussite

empty

Opération de copie abandonnée par l'utilisateur avant qu'elle se soit terminée.

aborted

empty

Une défaillance s'est produite lors de la lecture de l'objet blob source pendant une opération de copie, mais l'opération sera réessayée.

en attente

502 BadGateway « Erreur autorisant une nouvelle tentative lors de la lecture de la source. Nouvelle tentative. Heure de la défaillance : <time>"

Une défaillance s'est produite lors de la lecture de l'objet blob de destination d'une opération de copie, mais l'opération sera réessayée.

en attente

500 InternalServerError « Erreur autorisant une nouvelle tentative. Nouvelle tentative. Heure de la défaillance : <time>"

Une défaillance irrécupérable s'est produite lors de la lecture de l'objet blob source d'une opération de copie.

échec

404 ResourceNotFound « échec de la copie lors de la lecture de la source. »

noteRemarque
Lors du signalement l'erreur sous-jacent, Azure retourne ResourceNotFound dans l'élément <ErrorCode>. Si aucun élément <ErrorCode> n'apparaît dans la réponse, une représentation sous forme de chaîne standard de l'état HTTP tel que NotFound apparaît.

Le délai d'expiration limitant toutes les opérations de copie s'est écoulé. (Actuellement le délai d'expiration est de 2 semaines.)

échec

500 OperationCancelled « La copie a dépassé le temps maximal alloué. »

L'opération de copie a échoué trop souvent lors de la lecture de la source, et n'a pas atteint un ratio minimum de tentatives de succès. (Ce délai d'expiration a empêché une nouvelle tentative d'une source de mauvaise qualité pendant 2 semaines avant d'échouer).

échec

500 OperationCancelled « La copie a échoué lors de la lecture de la source. »

Afficher:
© 2014 Microsoft