VENTES: 1-800-867-1389

Liste des objets blob

Mis à jour: février 2015

L'opération List Blobs énumère la liste des objets blob du conteneur spécifié.

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

 

Méthode URI de demande Version HTTP

GET

https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list

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

 

Méthode URI de demande Version HTTP

GET

http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=list

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.

 

Paramètre Description

prefix

Facultatif. Filtre les résultats pour renvoyer uniquement les objets blob dont le nom commence par le préfixe spécifié.

delimiter

Facultatif. Lorsque la demande inclut ce paramètre, l'opération renvoie un élément BlobPrefix dans le corps de la réponse en tant qu'espace réservé pour tous les objets blob dont le nom commence par la même sous-chaîne jusqu'au caractère de délimitation. Le délimiteur peut être un caractère ou une chaîne.

marker

Facultatif. Valeur de chaîne qui identifie la partie de la liste à renvoyer avec l'opération Liste suivante. L'opération renvoie une valeur de marqueur dans le corps de la réponse si la liste renvoyée n'était pas terminée. La valeur de marqueur peut ensuite être utilisée dans un appel suivant pour demander l'ensemble d'éléments de liste suivant.

La valeur de marqueur est opaque au client.

maxresults

Facultatif. Spécifie le nombre maximal d'objets blob à renvoyer, y compris tous les éléments BlobPrefix. Si la demande ne spécifie pas maxresults, ou spécifie une valeur supérieure à 5 000, le serveur renvoie jusqu'à 5 000 éléments.

La définition de maxresults à une valeur inférieure ou égale à zéro entraîne un code de réponse d'erreur 400 (Demande incorrecte).

include={snapshots,metadata,uncommittedblobs,copy}

Facultatif. Spécifie un ou plusieurs datasets à inclure dans la réponse :

  • snapshots : indique que les instantanés doivent être inclus dans l'énumération. Les instantanés sont répertoriés du plus ancien au plus récent dans la réponse.

  • metadata : indique que les métadonnées d'objet blob doivent être renvoyées dans la réponse.

  • uncommittedblobs : indique que les objets blob pour lesquels des blocs ont été téléchargés, mais qui n'ont pas été validés avec Put Block List (API REST), sont inclus dans la réponse.

  • copy : version du 12/02/2012 et ultérieure. Spécifie que les métadonnées associées à une opération Copy Blob actuelle ou antérieure doivent être incluses dans la réponse.

Pour spécifier plusieurs de ces options dans l'URI, vous devez séparer chaque option par une virgule encodée dans l'URL (« %82 »).

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

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 demandes reçues par le serveur. Pour plus d'informations, consultez À propos de la journalisation Storage Analytics et Journalisation du stockage Azure : utilisation des journaux pour suivre les demandes de stockage.

Pour un exemple de demande, consultez Énumération des ressources d'objet BLOB.

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

Une opération ayant réussi renvoie le code d'état 200 (OK).

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

 

En-tête de réponse Description

Content-Type

Spécifie le format dans lequel les résultats sont renvoyés. Actuellement, cette valeur est application/xml.

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 du 19/09/2009 et ultérieure.

Cet en-tête est également renvoyé 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.

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.

Le format de la réponse XML est le suivant.

Notez que les éléments Prefix, Marker, MaxResults, et Delimiter sont présents uniquement s'ils ont été spécifiés dans l'URI de la demande. L'élément NextMarker a une valeur uniquement si les résultats de liste ne sont pas terminés.

Les instantanés, les métadonnées d'objet blob, et les objets blob non validés sont inclus dans la réponse uniquement s'ils sont spécifiés avec le paramètre include dans l'URI de la demande.

À partir de la version du 19/09/2009, les propriétés de l'objet blob sont encapsulées dans un élément Properties.

Dans la version du 15/08/2013 et les versions ultérieures, l'élément EnumerationResults contient un attribut ServiceEndpoint spécifiant le point de terminaison d'objet blob, et un champ ContainerName indiquant le nom du conteneur. Dans les versions précédentes, ces deux attributs étaient combinés dans le champ ContainerName. En outre, dans la version du 15/08/2013 et les versions ultérieures, l'élément Url sous Blob a été supprimé.

<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="http://myaccount.blob.core.windows.net/"  ContainerName="mycontainer">
  <Prefix>string-value</Prefix>
  <Marker>string-value</Marker>
  <MaxResults>int-value</MaxResults>
  <Delimiter>string-value</Delimiter>
  <Blobs>
    <Blob>
      <Name>blob-name</name>
      <Snapshot>date-time-value</Snapshot>
      <Properties>
        <Last-Modified>date-time-value</Last-Modified>
        <Etag>etag</Etag>
        <Content-Length>size-in-bytes</Content-Length>
        <Content-Type>blob-content-type</Content-Type>
        <Content-Encoding />
        <Content-Language />
        <Content-MD5 />
        <Cache-Control />
        <x-ms-blob-sequence-number>sequence-number</x-ms-blob-sequence-number>
        <BlobType>BlockBlob|PageBlob</BlobType>
        <LeaseStatus>locked|unlocked</LeaseStatus>
        <LeaseState>available | leased | expired | breaking | broken</LeaseState>
        <LeaseDuration>infinite | fixed</LeaseDuration>
        <CopyId>id</CopyId>
        <CopyStatus>pending | success | aborted | failed </CopyStatus>
        <CopySource>source url</CopySource>
        <CopyProgress>bytes copied/bytes total</CopyProgress>
        <CopyCompletionTime>datetime</CopyCompletionTime>
        <CopyStatusDescription>error string</CopyStatusDescription>
      </Properties>
      <Metadata>   
        <Name>value</Name>
      </Metadata>
    </Blob>
    <BlobPrefix>
      <Name>blob-prefix</Name>
    </BlobPrefix>
  </Blobs>
  <NextMarker />
</EnumerationResults>

LeaseState et LeaseDuration apparaissent uniquement dans la version du 12/02/2012 et ultérieure.

CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTime, et CopyStatusDescription apparaissent uniquement à partir de la version du 12/02/2012, quand cette opération inclus le paramètre include={copy}. Ces éléments n'apparaissent 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. Ces éléments n'apparaissent pas avec un objet blob créé par Copy Blob avant la version du 12/02/2012.

noteRemarque
À partir de la version du 19/09/2009, List Blobs renvoie les éléments renommés suivants dans le corps de la réponse :

  • Last-Modified (précédemment LastModified)

  • Content-Length (précédemment Size)

  • Content-Type (précédemment ContentType)

  • Content-Encoding (précédemment ContentEncoding)

  • Content-Language (précédemment ContentLanguage)

L'élément Content-MD5 s'affiche pour les objets blob créés à partir de la version du 19/09/2009. À partir de la version du 12/02/2012, le service BLOB calcule la valeur Content-MD5 lorsque vous téléchargez un objet blob à l'aide de Put Blob (API REST), mais ne le calcule pas lorsque vous créez un objet blob à l'aide de Put Block List (API REST). Vous pouvez définir explicitement la valeur Content-MD5 lorsque vous créez l'objet blob, ou en appelant les opérations Put Block List (API REST) ou Set Blob Properties (API REST).

Pour obtenir un exemple de réponse, consultez Énumération des ressources d'objet BLOB.

Si la liste de contrôle d'accès (ACL) du conteneur autorise l'accès anonyme au conteneur, n'importe quel client peut appeler cette opération. Dans le cas contraire, cette opération peut être appelée par le propriétaire du compte ou par toute personne avec une signature d'accès partagé qui dispose des autorisations pour répertorier les objets blob dans un conteneur.

Propriétés d'objet blob dans la réponse

Si vous avez demandé que les objets blob non validés soient inclus dans l'énumération, notez que certaines propriétés ne sont pas définies tant que l'objet blob n'est pas validé, c'est pourquoi certaines de ces propriétés peuvent ne pas être renvoyées dans la réponse.

L'élément x-ms-blob-sequence-number est renvoyé uniquement pour des objets blob de pages.

Pour des objets blob de pages, la valeur renvoyée dans l'élément Content-Length correspond à la valeur de l'en-tête x-ms-blob-content-length de l'objet blob.

L'élément Content-MD5 s'affiche dans le corps de la réponse uniquement s'il a été défini dans l'objet blob à l'aide de la version du 19/09/2009 ou d'une version ultérieure. Vous pouvez définir la propriété Content-MD5 lorsque l'objet blob est créé ou en appelant Set Blob Properties (API REST). À partir de la version du 12/02/2012, Put Blob définit la valeur MD5 de l'objet blob de blocs même si la demande Put Blob n'inclut pas d'en-tête MD5.

Métadonnées dans la réponse

L'élément Metadata peut être présent uniquement si le paramètre include=metadata a été spécifié dans l'URI. Dans l'élément Metadata, la valeur de chaque paire nom-valeur est indiquée dans un élément correspondant au nom de la paire.

Notez que les métadonnées demandées avec ce paramètre doivent être stockées conformément aux restrictions d'attribution de nom imposées par la version du 19/09/2009 du service BLOB. À partir de cette version, tous les noms de métadonnées doivent respecter les conventions d'affectation de noms pour les identificateurs C#.

Si une paire nom-valeur de métadonnées viole les restrictions d'attribution de noms imposées par la version du 19/09/2009, le corps de la réponse indique le nom problématique dans un élément x-ms-invalid-name, comme indiqué dans le fragment XML suivant :


      …
      <Metadata>
        <MyMetadata1>first value</MyMetadata1>
        <MyMetadata2>second value</MyMetadata2>
        <x-ms-invalid-name>invalid-metadata-name</x-ms-invalid-name>
      </Metadata>
      …

Instantanés dans la réponse

Les instantanés sont répertoriés dans la réponse uniquement si le paramètre include=snapshots a été spécifié dans l'URI. Les instantanés répertoriés dans la réponse n'incluent pas l'élément LeaseStatus, car les instantanés ne peuvent pas avoir de baux actifs.

Si vous appelez List Blobs avec un délimiteur, vous ne pouvez pas également inclure des instantanés dans l'énumération. Une demande qui inclut les deux renvoie une erreur InvalidQueryParameter (code d'état HTTP 400 – Demande incorrecte).

Objets blob non validés dans la réponse

Les objets blobs non validés sont répertoriés dans la réponse uniquement si le paramètre include=uncommittedblobs a été spécifié dans l'URI. Les objets blob non validés répertoriés dans la réponse n'incluent pas les éléments suivants :

  • Last-Modified

  • Etag

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-MD5

  • Cache-Control

  • Metadata

Renvoi de jeux de résultats en utilisant une valeur Marker

Si vous spécifiez une valeur pour le paramètre maxresults et que le nombre d'objets blob à renvoyer dépasse cette valeur, ou dépasse la valeur par défaut pour maxresults, le corps de la réponse contient un élément NextMarker qui indique l'objet blob suivant à renvoyer dans une demande suivante. Pour renvoyer l'ensemble suivant d'éléments, spécifiez la valeur de NextMarker comme paramètre de marqueur dans l'URI pour la demande suivante.

Notez que la valeur de NextMarker doit être traitée comme opaque.

Utilisation d'un délimiteur pour parcourir l'espace de noms d'objets blob

Le paramètre delimiter permet à l'appelant de parcourir l'espace de noms d'objet blob en utilisant un délimiteur configuré par l'utilisateur. De cette façon, vous pouvez parcourir une hiérarchie virtuelle d'objets blob, comme s'il s'agissait d'un système de fichiers. Le délimiteur peut être un caractère ou une chaîne. Lorsque la demande comprend ce paramètre, l'opération renvoie un élément BlobPrefix. L'élément BlobPrefix est renvoyé à la place de tous les objets blob dont le nom commence par la même sous-chaîne jusqu'au caractère du délimiteur. La valeur de l'élément BlobPrefix est substring+delimiter, où substring est la sous-chaîne commune qui débute un ou plusieurs noms d'objet blob, et delimiter est la valeur du paramètre delimiter.

Vous pouvez utiliser la valeur de BlobPrefix pour appeler la liste des objets blob qui commencent par ce préfixe, en indiquant la valeur de BlobPrefix pour le paramètre prefix dans l'URI de la demande.

Notez que chaque élément BlobPrefix renvoyé est comptabilisé dans le résultat, tout comme chaque élément Blob.

Les objets blob sont répertoriés en ordre alphabétique dans le corps de la réponse, avec les lettres majuscules répertoriées en premier.

Erreurs de copie dans CopyStatusDescription

CopyStatusDescription contient des informations supplémentaires sur l'échec Copy Blob.

  • Lorsqu'une tentative de copie échoue et que le service BLOB réessaie l'opération, CopyStatus a la valeur pending, et le texte CopyStatusDescription décrit l'échec qui peut avoir eu lieu pendant la dernière tentative de copie.

  • Lorsque CopyStatus a la valeur failed, le texte CopyStatusDescription décrit l'erreur qui a provoqué l'échec de l'opération de copie.

Le tableau suivant décrit les trois champs de chaque valeur CopyStatusDescription.

 

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 d'API REST courants.

Informations

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

Le tableau suivant décrit les valeurs CopyStatus et CopyStatusDescription 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 CopyStatus Valeur CopyStatusDescription

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

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