Partager via


Répertorier les objets blob

L’opération List Blobs retourne une liste des objets blob sous le conteneur spécifié.

Demander

Vous pouvez construire la requête List Blobs comme suit. HTTPS est recommandé. Remplacez mon compte par le nom de votre compte de stockage.

Méthode URI de requête Version HTTP
GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list HTTP/1.1

URI du service de stockage émulé

Lorsque vous effectuez une requête sur le service de stockage émulé, spécifiez le nom d’hôte de l’émulateur et le port stockage Blob Azure comme 127.0.0.1:10000, suivi du nom du compte de stockage émulé.

Méthode URI de requête Version HTTP
GET http://127.0.0.1:10000/devstoreaccount1/mycontainer?restype=container&comp=list HTTP/1.1

Pour plus d’informations, consultez Utiliser l’émulateur Azurite pour le développement de stockage Azure local.

Paramètres d’URI

Vous pouvez spécifier les paramètres supplémentaires suivants sur l’URI.

Paramètre Description
prefix Optionnel. Filtre les résultats pour retourner uniquement des objets blob avec des noms commençant par le préfixe spécifié. Dans les comptes qui ont un espace de noms hiérarchique, une erreur se produit dans les cas où le nom d’un fichier apparaît au milieu du chemin de préfixe. Par exemple, vous pouvez tenter de trouver des objets blob nommés readmefile.txt à l’aide du chemin de préfixe folder1/folder2/readme/readmefile.txt. Une erreur s’affiche si un sous-dossier contient un fichier nommé readme.
delimiter Optionnel. Lorsque la requête inclut ce paramètre, l’opération retourne un élément BlobPrefix dans le corps de la réponse. Cet élément agit comme un espace réservé pour tous les objets blob dont les noms commencent par la même sous-chaîne, jusqu’à l’apparence du caractère délimiteur. Le délimiteur peut être un caractère unique ou une chaîne.
marker Optionnel. Valeur de chaîne qui identifie la partie de la liste à retourner avec l’opération de liste suivante. L’opération retourne une valeur de marqueur dans le corps de la réponse si la liste retournée n’a pas été terminée. Vous pouvez ensuite utiliser la valeur de marqueur dans un appel suivant pour demander l’ensemble suivant d’éléments de liste.

La valeur de marqueur est opaque pour le client.
maxresults Optionnel. Spécifie le nombre maximal d’objets blob à retourner, y compris tous les éléments BlobPrefix. Si la requête ne spécifie pas maxresultsou spécifie une valeur supérieure à 5 000, le serveur retourne jusqu’à 5 000 éléments. S’il existe des résultats supplémentaires à retourner, le service retourne un jeton de continuation dans l’élément de réponse NextMarker. Dans certains cas, le service peut retourner moins de résultats que spécifié par maxresults, et également retourner un jeton de continuation.

La définition de maxresults sur une valeur inférieure ou égale à zéro entraîne le code de réponse d’erreur 400 (requête incorrecte).
include={snapshots,metadata,uncommittedblobs,copy,deleted,tags,versions,
deletedwithversions,immutabilitypolicy,legalhold,permissions}
Optionnel. Spécifie un ou plusieurs jeux de données à inclure dans la réponse :

- snapshots: spécifie 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: spécifie que les métadonnées d’objet blob doivent être retournées dans la réponse.
- uncommittedblobs: spécifie que les objets blob pour lesquels des blocs ont été chargés, mais qui n’ont pas été validés à l’aide de Put Block List, doivent être inclus dans la réponse.
- copy: version 2012-02-12 et ultérieure. Spécifie que les métadonnées liées à n’importe quelle opération de Copy Blob actuelle ou précédente doivent être incluses dans la réponse.
- deleted: Version 2017-07-29 et versions ultérieures. Spécifie que les objets blob supprimés de manière réversible doivent être inclus dans la réponse.
- tags: version 2019-12-12 et ultérieure. Spécifie que les balises d’index blob définies par l’utilisateur doivent être incluses dans la réponse.
- versions: version 2019-12-12 et ultérieure. Spécifie que les versions des objets blob doivent être incluses dans l’énumération.
- deletedwithversions: version 2020-10-02 et ultérieure. Spécifie que les objets blob supprimés avec toutes les versions (actives ou supprimées) doivent être inclus dans la réponse. Les éléments que vous avez supprimés définitivement apparaissent dans la réponse jusqu’à ce qu’ils soient traités par garbage collection. Utilisez la balise \<HasVersionsOnly\>et la valeur true.
- immutabilitypolicy: version 2020-06-12 et ultérieure. Spécifie que l’énumération doit inclure la stratégie d’immuabilité jusqu’à la date et le mode de stratégie d’immuabilité des objets blob.
- legalhold: version 2020-06-12 et ultérieure. Spécifie que l’énumération doit inclure la conservation légale des objets blob.
- permissions: version 2020-06-12 et ultérieure. Pris en charge uniquement pour les comptes avec un espace de noms hiérarchique activé. Si une demande inclut ce paramètre, le propriétaire, le groupe, les autorisations et la liste de contrôle d’accès pour les objets blob ou répertoires répertoriés sont inclus dans l’énumération.

Pour spécifier plusieurs de ces options sur l’URI, vous devez séparer chaque option par une virgule codée par URL («%82»).
showonly={deleted,files,directories} Optionnel. Spécifie l’un de ces jeux de données à retourner dans la réponse :

- deleted: facultatif. Version 2020-08-04 et ultérieure. Uniquement pour les comptes activés avec l’espace de noms hiérarchique. Lorsqu’une demande inclut ce paramètre, la liste contient uniquement des objets blob supprimés de manière réversible. Notez que la secours d’autorisation POSIX ACL n’est pas prise en charge pour répertorier les objets blob supprimés de manière réversible. Si include=deleted est également spécifié, la requête échoue avec une requête incorrecte (400).
- files: facultatif. Version 2020-12-06 et ultérieure. Uniquement pour les comptes activés avec l’espace de noms hiérarchique. Lorsqu’une demande inclut ce paramètre, la liste contient uniquement des fichiers.
- directories: facultatif. Version 2020-12-06 et ultérieure. Uniquement pour les comptes activés avec l’espace de noms hiérarchique. Lorsqu’une demande inclut ce paramètre, la liste contient uniquement des répertoires.
timeout Optionnel. Le paramètre timeout est exprimé en secondes. Pour plus d’informations, consultez Paramètre des délais d’attente pour les opérations de stockage Blob.

En-têtes de requête

Le tableau suivant décrit les en-têtes de requête obligatoires et facultatifs.

En-tête de requête Description
Authorization Obligatoire. Spécifie le schéma d’autorisation, le nom du compte et la signature. Pour plus d’informations, consultez Autoriser les demandes vers le stockage Azure.
Date ou x-ms-date Obligatoire. Spécifie le temps universel coordonné (UTC) de la requête. Pour plus d’informations, consultez Autoriser les demandes vers le stockage Azure.
x-ms-version Obligatoire pour toutes les demandes autorisées et facultatives pour les demandes anonymes. Spécifie la version de l’opération à utiliser pour cette requête. Pour plus d’informations, consultez Contrôle de version pour les services stockage Azure.
x-ms-client-request-id Optionnel. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (KiB) enregistrée dans les journaux lors de la configuration de la journalisation. Nous vous recommandons vivement d’utiliser cet en-tête pour mettre en corrélation les activités côté client avec les demandes reçues par le serveur. Pour plus d’informations, consultez Monitor Stockage Blob Azure.
x-ms-upn Optionnel. Valide uniquement lorsqu’un espace de noms hiérarchique est activé pour le compte et que include=permissions est fourni dans la requête. Si true, les valeurs d’identité de l’utilisateur retournées dans le>propriétaire <, <groupe>et <les champs Acl> sont transformés des ID d’objet Microsoft Entra en noms d’utilisateur principaux. Si false, les valeurs sont retournées en tant qu’ID d’objet Microsoft Entra. La valeur par défaut est false. Notez que les ID d’objet de groupe et d’application ne sont pas traduits, car ils n’ont pas de noms conviviaux uniques.

Corps de la demande

Aucun.

Exemple de requête

Consultez énumération des ressources d’objets blob pour obtenir un exemple de requête.

Réponse

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.

Code d’état

Une opération réussie retourne le code d’état 200 (OK). Pour plus d’informations sur les codes d’état, consultez Les codes d’état et d’erreur.

En-têtes de réponse

La réponse de cette opération inclut les en-têtes suivants. La réponse peut également inclure des en-têtes HTTP supplémentaires et standard. Tous les en-têtes standard sont conformes à la spécification de protocole HTTP/1.1.

En-tête de réponse Description
Content-Type Spécifie le format dans lequel les résultats sont retournés. Actuellement, cette valeur est application/xml.
x-ms-request-id Cet en-tête identifie de manière 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 Résolution des problèmes des opérations d’API.
x-ms-version Indique la version du Stockage Blob utilisé pour exécuter la requête. Cet en-tête est retourné pour les demandes effectuées à l’aide de la version 2009-09-19 et ultérieures.

Cet en-tête est également retourné pour les requêtes anonymes, sans version spécifiée, si le conteneur a été marqué pour l’accès public à l’aide de la version 2009-09-19 du Stockage Blob.
Date Valeur de date/heure UTC qui indique l’heure à laquelle la réponse a été lancée. Le service génère cette valeur.
x-ms-client-request-id Vous pouvez utiliser cet en-tête pour résoudre les demandes et les réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id, si elle est présente dans la requête. La valeur est au maximum 1024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la requête, cet en-tête ne sera pas présent dans la réponse.

Corps de la réponse

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

Notez que les éléments Prefix, Marker, MaxResultset Delimiter sont présents uniquement s’ils ont été spécifiés sur l’URI de la requête. L’élément NextMarker a une valeur uniquement si les résultats de la 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 sur l’URI de requête.

Dans la version 2009-09-19 et ultérieures, les propriétés de l’objet blob sont encapsulées dans un élément Properties.

À compter de la version 2009-09-19, List Blobs retourne 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 apparaît pour les objets blob créés avec la version 2009-09-19 et ultérieures. Dans la version 2012-02-12 et ultérieures, Le Stockage Blob calcule la valeur Content-MD5 lorsque vous chargez un objet blob à l’aide de Put Blob. Le stockage d’objets blob ne calcule pas cela lorsque vous créez un objet blob à l’aide de Put Block List. Vous pouvez définir explicitement la valeur Content-MD5 lorsque vous créez l’objet blob, ou en appelant la Put Block List ou Définir les propriétés de l’objet blob opérations.

Pour les versions 2009-09-19 et ultérieures, mais avant la version 2015-02-21, vous ne pouvez pas appeler List Blobs sur un conteneur qui inclut des objets blob d’ajout. Le service retourne le code d’état 409 (conflit) si le résultat de la liste contient un objet blob d’ajout.

LeaseState et LeaseDuration apparaissent uniquement dans la version 2012-02-12 et ultérieures.

CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTimeet CopyStatusDescription apparaissent uniquement dans la version 2012-02-12 et ultérieure, lorsque cette opération inclut 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 de Copy Blob. Les éléments n’apparaissent pas si cet objet blob a été modifié après une opération de Copy Blob terminée, en utilisant Set Blob Properties, Put Blobou Put Block List. Ces éléments n’apparaissent pas non plus avec un objet blob créé par Copier un objet blob, avant la version 2012-02-12.

Dans la version 2013-08-15 et ultérieure, l’élément EnumerationResults contient un attribut ServiceEndpoint qui spécifie le point de terminaison d’objet blob. Cet élément contient également un champ ContainerName qui spécifie le nom du conteneur. Dans les versions précédentes, ces deux attributs ont été combinés dans le champ ContainerName. Dans la version 2013-08-15 et ultérieure, l’élément Url sous Blob a été supprimé.

Pour la version 2015-02-21 et ultérieure, List Blobs retourne des objets blob de tous les types (blocs, pages et objets blob d’ajout).

Pour la version 2015-12-11 et ultérieure, List Blobs retourne l’élément ServerEncrypted. Cet élément est défini sur true si les métadonnées de l’objet blob et de l’application sont entièrement chiffrées et false sinon.

Pour la version 2016-05-31 et ultérieure, List Blobs retourne l’élément IncrementalCopy pour les objets blob de copie incrémentielle et les instantanés, avec la valeur définie sur true.

Pour la version 2017-04-17 et ultérieure, List Blobs retourne l’élément AccessTier si un niveau d’accès a été défini explicitement. Pour obtenir la liste des niveaux d’objets blob de pages Premium autorisés, consultez stockage Premium hautes performances et disques managés pour les machines virtuelles. Pour les comptes Stockage Blob ou v2 universels, les valeurs valides sont Hot, Coolet Archive. Si l’objet blob est dans l’état en attente de réactivation, l’élément ArchiveStatus est retourné avec l’une des valeurs valides (rehydrate-pending-to-hot, rehydrate-pending-to-coolou rehydrate-pending-to-cold). Pour plus d’informations sur la hiérarchisation des objets blob de blocs, consultez niveaux de stockage chaud, froid et archive.

Pour la version 2017-04-17 et ultérieure, List Blobs retourne l’élément AccessTierInferred sur le stockage Blob ou les comptes v2 à usage général. Si l’objet blob de blocs n’a pas le jeu de niveaux d’accès, les informations de niveau sont déduites des propriétés du compte de stockage et cette valeur est définie sur true. Cet en-tête est présent uniquement si le niveau est déduit de la propriété du compte.

Pour la version 2017-04-17 et ultérieure, List Blobs retourne l’élément AccessTierChangeTime sur le stockage Blob ou les comptes v2 à usage général. Cela est retourné uniquement si le niveau sur l’objet blob de blocs a été défini. Pour plus d’informations, consultez Représentation des valeurs date-heure dans les en-têtes.

Pour la version 2017-07-29 et ultérieures, Deleted, DeletedTimeet RemainingRetentionDays apparaissent lorsque cette opération inclut le paramètre include={deleted}. Ces éléments n’apparaissent pas si cet objet blob n’a pas été supprimé. Ces éléments s’affichent pour les objets blob ou les instantanés supprimés avec l’opération de DELETE, lorsque la fonctionnalité de suppression réversible a été activée. L’élément Deleted est défini sur true pour les objets blob et les instantanés supprimés de manière réversible. Deleted-Time correspond à l’heure de suppression de l’objet blob. RemainingRetentionDays indique le nombre de jours après lesquels un objet blob supprimé de manière réversible est définitivement supprimé.

Pour la version 2017-11-09 et ultérieure, Creation-Time retourne l’heure à laquelle cet objet blob a été créé.

Pour la version 2019-02-02 et ultérieure, List Blobs retourne l’élément CustomerProvidedKeySha256 si l’objet blob est chiffré avec une clé fournie par le client. La valeur est définie sur le hachage SHA-256 de la clé utilisée pour chiffrer l’objet blob. En outre, si l’opération inclut le paramètre include={metadata} et qu’il existe des métadonnées d’application sur un objet blob chiffré avec une clé fournie par le client, l’élément Metadata aura un attribut Encrypted="true". Cet attribut indique que l’objet blob a des métadonnées qui ne peuvent pas être déchiffrées dans le cadre de l’opération de List Blobs. Pour accéder aux métadonnées de ces objets blob, appelez Obtenir des propriétés d’objet blob ou obtenir des métadonnées d’objet blob avec la clé fournie par le client.

Pour la version 2019-02-02 et ultérieure, List Blobs retourne l’élément EncryptionScope si l’objet blob est chiffré avec une étendue de chiffrement. La valeur est définie sur le nom de l’étendue de chiffrement utilisée pour chiffrer l’objet blob. Si l’opération inclut le paramètre include={metadata}, les métadonnées de l’application sur l’objet blob sont déchiffrées de manière transparente et disponibles dans l’élément Metadata.

Pour la version 2019-12-12 et ultérieure, List Blobs retourne l’élément RehydratePriority sur les comptes Stockage Blob ou v2 à usage général, si l’objet est dans l’état rehydrate pending. Les valeurs valides sont High et Standard.

Pour la version 2019-12-12 et ultérieure, List Blobs retourne l’élément VersionId pour les objets blob et les versions d’objets blob générées, lorsque le contrôle de version est activé sur le compte.

Pour la version 2019-12-12 et ultérieure, List Blobs retourne l’élément IsCurrentVersion pour la version actuelle de l’objet blob. La valeur est définie sur true. Cet élément vous permet de différencier la version actuelle des versions générées automatiquement en lecture seule.

Pour la version 2019-12-12 et ultérieure, List Blobs retourne l’élément TagCount pour les objets blob avec toutes les balises. L’élément Tags apparaît uniquement lorsque cette opération inclut le paramètre include={tags}. Ces éléments n’apparaissent pas s’il n’y a pas de balises sur l’objet blob.

Pour la version 2019-12-12 et ultérieure, List Blobs retourne l’élément Sealed pour les objets blob d’ajout. L’élément Sealed apparaît uniquement lorsque l’objet blob d’ajout a été scellé. Ces éléments n’apparaissent pas si l’objet blob d’ajout n’est pas scellé.

Pour la version 2020-02-10 et ultérieure, List Blobs retourne l’élément LastAccessTime. L’élément indique quand les données de l’objet blob ont été consultées pour la dernière fois, en fonction de la stratégie de suivi du dernier temps d’accès du compte de stockage. L’élément n’est pas retourné si le compte de stockage n’a pas cette stratégie ou si la stratégie est désactivée. Pour plus d’informations sur la définition de la stratégie de suivi du dernier temps d’accès du compte, consultez la 'API du service Blob. L’élément LastAccessTime ne suit pas la dernière fois que les métadonnées de l’objet blob sont accessibles.

Pour la version 2020-06-12 et ultérieure, List Blobs retourne les éléments ImmutabilityPolicyUntilDate et ImmutabilityPolicyMode, lorsque cette opération inclut le paramètre include={immutabilitypolicy}.

Pour la version 2020-06-12 et ultérieure, List Blobs retourne l’élément LegalHold, lorsque cette opération inclut le paramètre include={legalhold}.

Pour la version 2020-06-12 et ultérieure, pour les comptes avec un espace de noms hiérarchique activé, List Blobs retourne les éléments Owner, Group, Permissionset Acl. La requête doit contenir le paramètre include={permissions}. Notez que l’élément Acl est une liste combinée d’accès et de listes de contrôle d’accès par défaut définies sur le fichier ou le répertoire.

Pour la version 2020-06-12 et ultérieure, pour les comptes avec un espace de noms hiérarchique activé, List Blobs avec un délimiteur retourne l’élément Properties dans l’élément BlobPrefix. Cela correspond aux propriétés du répertoire.

Pour la version 2020-08-04 et ultérieure, pour les comptes avec un espace de noms hiérarchique activé, List Blobs retourne l’élément DeletionId pour les objets blob supprimés. DeletionId est un identificateur 64 bits non signé. L’élément identifie de manière unique un chemin supprimé de manière réversible, pour le distinguer d’autres objets blob supprimés avec le même chemin d’accès.

Pour la version 2020-10-02 et ultérieure, pour les comptes avec un espace de noms hiérarchique activé, List Blobs retourne l’élément de propriété ResourceType pour le chemin d’accès. Cela peut être file ou directory.

Pour la version 2021-02-12 et ultérieure, List Blobs encodera en pourcentage (par RFC 2396) toutes les valeurs d’élément BlobName ou BlobPrefixName. Plus précisément, il le fera pour ces valeurs qui contiennent des caractères qui ne sont pas valides en XML (U+FFFE ou U+FFFF). S’il est encodé, l’élément Name inclut un attribut Encoded=true. Notez que cela se produit uniquement pour les valeurs d’élément Name contenant les caractères non valides dans XML, et non les éléments Name restants dans la réponse.

Pour la version 2021-06-08 et ultérieure, pour les comptes avec un espace de noms hiérarchique activé, List Blobs retourne l’élément de propriétés Placeholder. Elle retourne cet élément dans l’élément BlobPrefix pour les répertoires d’espaces réservés, lors de la liste des objets blob supprimés avec un délimiteur. Ces répertoires d’espace réservé existent pour faciliter la navigation vers des objets blob supprimés de manière réversible.

Pour la version 2021-06-08 et ultérieure, pour les comptes avec un espace de noms hiérarchique activé, List Blobs retourne l’élément EncryptionContext. Si la valeur de la propriété de contexte de chiffrement est définie, elle retourne la valeur définie.

Pour la version 2020-02-10 et ultérieure, pour les comptes avec un espace de noms hiérarchique activé, List Blobs retourne l’élément Expiry-Time pour les objets blob supprimés. Expiry-Time est l’heure à laquelle le fichier expire et est retourné pour le fichier si l’expiration est définie sur la même valeur.

<?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>  
      <VersionId>date-time-vlue</VersionId>
      <IsCurrentVersion>true</IsCurrentVersion>
      <Deleted>true</Deleted>
      <Properties> 
        <Creation-Time>date-time-value</Creation-Time>
        <Last-Modified>date-time-value</Last-Modified>  
        <Etag>etag</Etag>
        <Owner>owner user id</Owner>
        <Group>owning group id</Group>
        <Permissions>permission string</Permissions>
        <Acl>access control list</Acl>
        <ResourceType>file | directory</ResourceType>
        <Placeholder>true</Placeholder>
        <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|AppendBlob</BlobType>  
        <AccessTier>tier</AccessTier>  
        <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>  
        <ServerEncrypted>true</ServerEncrypted> 
        <CustomerProvidedKeySha256>encryption-key-sha256</CustomerProvidedKeySha256>
        <EncryptionContext>encryption-context<EncryptionContext>
        <EncryptionScope>encryption-scope-name</EncryptionScope>
        <IncrementalCopy>true</IncrementalCopy>
        <AccessTierInferred>true</AccessTierInferred>
        <AccessTierChangeTime>datetime</AccessTierChangeTime>
        <DeletedTime>datetime</DeletedTime>
        <RemainingRetentionDays>no-of-days</RemainingRetentionDays>
        <TagCount>number of tags between 1 to 10</TagCount>
        <RehydratePriority>rehydrate priority</RehydratePriority>
        <Expiry-Time>date-time-value</Expiry-Time>
      </Properties>  
      <Metadata>     
        <Name>value</Name>  
      </Metadata>  
      <Tags>
          <TagSet>
              <Tag>
                  <Key>TagName</Key>
                  <Value>TagValue</Value>
              </Tag>
          </TagSet>
      </Tags>
      <OrMetadata />
    </Blob>  
    <BlobPrefix>  
      <Name>blob-prefix</Name>  
    </BlobPrefix>  
  </Blobs>  
  <NextMarker />  
</EnumerationResults>  

Exemple de réponse

Consultez énumération des ressources d’objets blob pour obtenir un exemple de réponse.

Autorisation

L’autorisation est requise lors de l’appel d’une opération d’accès aux données dans stockage Azure. Vous pouvez autoriser l’opération de List Blobs comme décrit ci-dessous.

Important

Microsoft recommande d’utiliser l’ID Microsoft Entra avec des identités managées pour autoriser les demandes adressées au stockage Azure. Microsoft Entra ID offre une sécurité et une facilité d’utilisation supérieures par rapport à l’autorisation de clé partagée.

Stockage Azure prend en charge l’utilisation de l’ID Microsoft Entra pour autoriser les demandes aux données d’objet blob. Avec l’ID Microsoft Entra, vous pouvez utiliser le contrôle d’accès en fonction du rôle Azure (Azure RBAC) pour accorder des autorisations à un principal de sécurité. Le principal de sécurité peut être un utilisateur, un groupe, un principal de service d’application ou une identité managée Azure. Le principal de sécurité est authentifié par l’ID Microsoft Entra pour retourner un jeton OAuth 2.0. Le jeton peut ensuite être utilisé pour autoriser une demande auprès du service Blob.

Pour en savoir plus sur l’autorisation à l’aide de l’ID Microsoft Entra, consultez Autoriser l’accès aux objets blob à l’aide de Microsoft Entra ID.

Autorisations

Voici l’action RBAC nécessaire pour un utilisateur, un groupe, une identité managée ou un principal de service Microsoft Entra pour appeler l’opération de List Blobs et le rôle RBAC Azure intégré le moins privilégié qui inclut cette action :

Si vous spécifiez include=tags:

Pour en savoir plus sur l’attribution de rôles à l’aide d’Azure RBAC, consultez Attribuer un rôle Azure pour accéder aux données blob.

Remarques

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é. Certaines propriétés peuvent ne pas être retournées dans la réponse.

L’élément x-ms-blob-sequence-number n’est retourné que pour les objets blob de pages.

L’élément OrMetadata n’est retourné que pour les objets blob de blocs.

Pour les objets blob de pages, la valeur retourné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 apparaît dans le corps de la réponse, uniquement s’il a été défini sur l’objet blob à l’aide de la version 2009-09-19 ou ultérieure. Vous pouvez définir la propriété Content-MD5 lors de la création de l’objet blob ou en appelant Définir des propriétés d’objet blob. Dans la version 2012-02-12 et ultérieures, Put Blob définit la valeur MD5 d’un objet blob de blocs, même lorsque la demande de Put Blob n’inclut pas d’en-tête MD5.

Métadonnées dans la réponse

L’élément Metadata est présent uniquement si le paramètre include=metadata a été spécifié sur l’URI. Dans l’élément Metadata, la valeur de chaque paire nom-valeur est répertorié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 de nommage imposées par la version 2009-09-19 du Stockage Blob. À compter de cette version, tous les noms de métadonnées doivent respecter les conventions d’affectation de noms pour identificateurs C#.

Si une paire nom-valeur de métadonnées enfreint ces restrictions d’affectation de noms, le corps de la réponse indique le nom problématique dans un élément x-ms-invalid-name. Le fragment XML suivant montre ceci :

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

Balises dans la réponse

L’élément Tags est présent uniquement si le paramètre include=tags a été spécifié sur l’URI et s’il existe des balises sur l’objet blob. Dans l’élément TagSet, jusqu’à 10 éléments Tag sont retournés, chacun contenant les key et value des balises d’index blob définies par l’utilisateur. L’ordre des balises n’est pas garanti dans la réponse.

Les éléments Tags et TagCount ne sont pas retournés s’il n’y a pas de balises sur l’objet blob.

Le service de stockage maintient une cohérence forte entre un objet blob et ses balises, mais l’index secondaire est finalement cohérent. Les balises peuvent être visibles dans une réponse à List Blobs avant qu’elles ne soient visibles pour Find Blobs by Tags opérations.

Captures instantanées 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é sur 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.

À l’aide du service version 2021-06-08 et ultérieure, vous pouvez appeler List Blobs avec un délimiteur et inclure des instantanés dans l’énumération. Pour les versions de service antérieures à 2021-06-08, une requête qui inclut les deux renvoie une erreur InvalidQueryParameter (code d’état HTTP 400 – Requête incorrecte).

Objets blob non validés dans la réponse

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

  • Last-Modified

  • Etag

  • Content-Type

  • Content-Encoding

  • Content-Language

  • Content-MD5

  • Cache-Control

  • Metadata

Objets blob supprimés dans la réponse

Les objets blob supprimés sont répertoriés dans la réponse uniquement si le paramètre include=deleted a été spécifié sur l’URI. Les objets blob supprimés répertoriés dans la réponse n’incluent pas les éléments Lease, car les objets blob supprimés ne peuvent pas avoir de baux actifs.

Les instantanés supprimés sont inclus dans la réponse de liste si include=deleted,snapshot a été spécifié sur l’URI.

Métadonnées de réplication d’objet dans la réponse

L’élément OrMetadata est présent lorsqu’une stratégie de réplication d’objet a été évaluée sur un objet blob et que l’appel List Blobs a été effectué à l’aide de la version 2019-12-12 ou ultérieure. Dans l’élément OrMetadata, la valeur de chaque paire nom-valeur est répertoriée dans un élément correspondant au nom de la paire. Le format du nom est or-{policy-id}_{rule-id}, où {policy-id} est un GUID qui représente l’identificateur de stratégie de réplication d’objet sur le compte de stockage. {rule-id} est un GUID qui représente l’identificateur de règle sur le conteneur de stockage. Les valeurs valides sont complete ou failed.

  
…  
<OrMetadata>  
  <or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>complete</or-e524bba7-4323-4b93-91f8-d09d5d0b7057_d86c51de-ef02-4264-bdcf-dcd389a6c7ac>  
  <or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>failed</or-2b302b5d-fcd5-44d6-a5ed-455bf27e17ea_4a398ff5-2a89-4090-879b-10248f23428e>  
</OrMetadata>  
…  
  

Stratégie d’immuabilité dans la réponse

Les éléments ImmutabilityPolicyUntilDate et ImmutabilityPolicyMode sont présents uniquement si le paramètre include=immutabilitypolicy a été spécifié sur l’URI.

<Properties> 
   <ImmutabilityPolicyUntilDate>date-time-value</ImmutabilityPolicyUntilDate>   
   <ImmutabilityPolicyMode>unlocked | locked </ImmutabilityPolicyMode>  
</Properties> 

L’élément LegalHold est présent uniquement si le paramètre include=legalhold a été spécifié sur l’URI.

<Properties> 
  <LegalHold>true | false </LegalHold>  
</Properties> 

Retour de jeux de résultats à l’aide d’une valeur de marqueur

Si vous spécifiez une valeur pour le paramètre maxresults, et que le nombre d’objets blob à retourner 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. Cet élément indique l’objet blob suivant à retourner sur une requête ultérieure. Dans certains cas, le service peut renvoyer l’élément NextMarker même si le nombre de résultats retournés est inférieur à la valeur de maxresults.

Pour retourner le jeu d’éléments suivant, spécifiez la valeur de NextMarker comme paramètre de marqueur sur l’URI de la requête 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’objets blob à l’aide d’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 unique ou une chaîne.

Lorsque la requête inclut ce paramètre, l’opération retourne un élément BlobPrefix. L’élément BlobPrefix est retourné à la place de tous les objets blob avec des noms commençant par la même sous-chaîne, jusqu’à l’apparence du caractère délimiteur. La valeur de l’élément BlobPrefix est sous-chaîne+délimiteur, où sous-chaîne est la sous-chaîne commune qui commence un ou plusieurs noms d’objets blob, et délimiteur est la valeur du paramètre delimiter.

Vous pouvez utiliser la valeur de BlobPrefix pour effectuer un appel ultérieur pour répertorier les objets blob qui commencent par ce préfixe. Pour ce faire, spécifiez la valeur de BlobPrefix pour le paramètre prefix sur l’URI de requête.

Notez que chaque élément BlobPrefix retourné compte vers le résultat maximal, tout comme chaque élément Blob.

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

Erreurs de copie dans la description de l’état de copie

CopyStatusDescription contient plus d’informations sur l’échec Copy Blob.

  • En cas d’échec d’une tentative de copie, CopyStatus est défini sur pending si le Stockage Blob tente toujours l’opération. Le texte CopyStatusDescription décrit l’échec qui a pu se produire lors de la dernière tentative de copie.

  • Lorsque CopyStatus est défini sur 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 champs de chaque valeur CopyStatusDescription.

Composant Description
Code d’état HTTP Entier à trois chiffres standard spécifiant l’échec.
Code d’erreur Mot clé qui décrit l’erreur. Il est fourni par Azure dans l’élément <ErrorCode>. Si aucun <'élément ErrorCode> s’affiche, le service retourne un mot clé qui contient le texte d’erreur standard associé au code d’état HTTP à trois chiffres dans la spécification HTTP. Pour plus d’informations, consultez codes d’erreur d’API REST courants.
Information 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.

Important

Le texte de description présenté ici peut changer sans avertissement, même sans modification de version. Ne vous fiez pas à la correspondance de ce texte exact.

Scénario Valeur d’état de copie Copier la valeur Description de l’état
L’opération de copie s’est terminée avec succès. succès vide
L’utilisateur a abandonné l’opération de copie avant sa fin. avorté vide
Une défaillance s’est produite lors de la lecture à partir de l’objet blob source pendant une opération de copie. L’opération sera retentée. en instance 502 BadGateway « Rencontre une erreur retentable lors de la lecture de la source. Réessayera. Temps d’échec : <heure>»
Une défaillance s’est produite lors de l’écriture dans l’objet blob de destination d’une opération de copie. L’opération sera retentée. en instance 500 InternalServerError « Rencontre une erreur retentable. Réessayera. Temps d’échec : <heure>»
Une défaillance irrécupérable s’est produite lors de la lecture à partir de l’objet blob source d’une opération de copie. raté 404 ResourceNotFound « Échec de la copie lors de la lecture de la source ». Lorsque le service signale cette erreur sous-jacente, il retourne ResourceNotFound dans l’élément <ErrorCode>. Si aucun <ErrorCode> élément est apparu dans la réponse, une représentation sous forme de chaîne standard de l’état HTTP, telle que NotFound, s’affiche.
Délai d’expiration limitant toutes les opérations de copie écoulées. (Actuellement, la période d’expiration est de deux semaines.) raté 500 OperationCancelled « La copie a dépassé la durée maximale autorisée ».
L’opération de copie a échoué trop souvent lors de la lecture à partir de la source et n’a pas respecté un ratio minimal de tentatives de réussite. (Ce délai d’expiration empêche la nouvelle tentative d’une source très médiocre sur deux semaines avant l’échec). raté 500 OperationCancelled « Échec de la copie lors de la lecture de la source ».

Facturation

Les demandes de tarification peuvent provenir de clients qui utilisent des API Stockage Blob, directement via l’API REST Stockage Blob ou à partir d’une bibliothèque cliente Stockage Azure. Ces demandes accumulent des frais par transaction. Le type de transaction affecte la façon dont le compte est facturé. Par exemple, les transactions de lecture s’accumulent dans une catégorie de facturation différente de celle des transactions en écriture. Le tableau suivant montre la catégorie de facturation pour les requêtes List Blobs en fonction du type de compte de stockage :

Opération Type de compte de stockage Catégorie de facturation
Répertorier les objets blob Objet blob de blocs Premium
Standard v2 à usage général
Standard v1 à usage général
Répertorier et créer des opérations de conteneur

Pour en savoir plus sur la tarification de la catégorie de facturation spécifiée, consultez tarification du Stockage Blob Azure.

Voir aussi

l’état et les codes d’erreur
codes d’erreur Stockage Blob