Share via


List Blobs

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

Requête

Vous pouvez construire la List Blobs requête comme suit. HTTPS est recommandé. Remplacez myaccount 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

URI du service de stockage émulé

Lorsque vous effectuez une demande auprès du service de stockage émulé, spécifiez le nom d’hôte de l’émulateur et Stockage Blob Azure port comme 127.0.0.1:10000, suivi du nom du 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 Utiliser l’émulateur Azurite pour le développement stockage Azure local.

Paramètres URI

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

Paramètre Description
prefix facultatif. Filtre les résultats pour renvoyer uniquement les objets blob dont les noms commencent 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 du préfixe. Par exemple, vous pouvez essayer de trouver des objets blob nommés readmefile.txt à l’aide du chemin folder1/folder2/readme/readmefile.txtde préfixe . Une erreur s’affiche si un sous-dossier contient un fichier nommé readme.
delimiter facultatif. Lorsque la requête inclut ce paramètre, l’opération retourne un BlobPrefix élément 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 facultatif. Valeur de chaîne qui identifie la partie de la liste à renvoyer avec l'opération de 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. Vous pouvez ensuite utiliser la valeur de marqueur dans un appel suivant pour demander le jeu 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 maxresultspas ou 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 NextMarker response. 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 à 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,deleted,tags,versions,
deletedwithversions,immutabilitypolicy,legalhold,permissions}
facultatif. Spécifie un ou plusieurs datasets à 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, sont inclus dans la réponse.
- copy: version 2012-02-12 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.
-deleted: version 2017-07-29 et 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 d’objet 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érieures. 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érieures. Spécifie que l’énumération doit inclure la conservation légale des objets blob.
-permissions: version 2020-06-12 et ultérieures. 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 dans l'URI, vous devez séparer chaque option par une virgule encodée dans l'URL (« %82 »).
showonly={deleted,files,directories} facultatif. Spécifie l’un de ces jeux de données à retourner dans la réponse :

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

En-têtes de requête

Le tableau suivant décrit les en-têtes de demande obligatoires ou 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 requêtes auprès du Stockage Azure.
Date ou x-ms-date Obligatoire. Spécifie la date/heure en temps universel coordonné (UTC) pour la requête. Pour plus d’informations, consultez Autoriser les requêtes auprès du Stockage Azure.
x-ms-version Obligatoire pour toutes les demandes autorisées et facultatif pour les demandes anonymes. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez la page Contrôle de version pour les services de Stockage Microsoft Azure.
x-ms-client-request-id facultatif. Fournit une valeur opaque générée par le client avec une limite de caractères de 1 kibioctet (Kio) 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 que le serveur reçoit. Pour plus d’informations, consultez Surveiller Stockage Blob Azure.
x-ms-upn facultatif. Valide uniquement lorsqu’un espace de noms hiérarchique est activé pour le compte et include=permissions fourni dans la demande. Si la valeur est true, les valeurs d’identité utilisateur retournées dans les <champs Propriétaire>, <Groupe> et <Acl> sont transformées des ID d’objet Microsoft Entra en noms d’utilisateur principaux. Si falsela valeur est , 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

Pour obtenir un exemple de demande, consultez Énumération des ressources d’objet blob .

response

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 envoie le code d'état 200 (OK). Pour plus d’informations sur les codes status, consultez Codes d’état et d’erreur.

En-têtes de réponse

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

En-tête de réponse Description
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 manière unique la requête qui a été effectuée et peut être utilisé pour la résolution des problèmes de la demande. Pour plus d’informations, consultez Résolution des problèmes liés aux opérations d’API.
x-ms-version Indique la version de Stockage Blob utilisée 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 des versions 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 un 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 problèmes liés aux demandes et aux réponses correspondantes. La valeur de cet en-tête est égale à la valeur de l’en-tête x-ms-client-request-id , s’il est présent dans la requête. La valeur est au maximum de 1 024 caractères ASCII visibles. Si l’en-tête x-ms-client-request-id n’est pas présent dans la demande, cet en-tête ne sera pas présent dans la réponse.

Response body

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 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 dans l'URI de la demande.

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

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

Pour les versions 2009-09-19 et ultérieures, mais antérieures à 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 status code 409 (conflit) si le résultat de la liste contient un objet blob d’ajout.

LeaseState et LeaseDuration apparaissent uniquement dans les versions 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 include={copy} paramètre . Ces éléments n’apparaissent pas si cet objet blob n’a jamais été la destination d’une Copy Blob opération. Les éléments n’apparaissent pas si cet objet blob a été modifié après une opération terminée Copy Blob , à l’aide Set Blob Propertiesde , Put Blobou Put Block List. Ces éléments n’apparaissent pas non plus avec un objet blob créé par Copy Blob, avant la version 2012-02-12.

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

Pour les versions 2015-02-21 et ultérieures, List Blobs retourne des objets blob de tous types (objets blob de bloc, de page et d’ajout).

Pour les versions 2015-12-11 et ultérieures, 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 les versions 2016-05-31 et ultérieures, List Blobs retourne l’élément pour les IncrementalCopy objets blob de copie incrémentielle et les instantanés, avec la valeur définie sur true.

Pour les versions 2017-04-17 et ultérieures, 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 à usage général, les valeurs valides sont Hot, Coolet Archive. Si l’objet blob est dans l’état de réalimentation en attente, l’élément ArchiveStatus est retourné avec l’une des valeurs valides (rehydrate-pending-to-hot, rehydrate-pending-to-cool, ou 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 les versions 2017-04-17 et ultérieures, List Blobs retourne l’élément sur stockage AccessTierInferred Blob ou des comptes v2 à usage général. Si l’objet blob de blocs n’a pas le niveau d’accès défini, les informations de niveau sont déduites à partir 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 à partir de la propriété du compte.

Pour les versions 2017-04-17 et ultérieures, List Blobs retourne l’élément sur stockage AccessTierChangeTime Blob ou des comptes v2 à usage général. Cette valeur est retournée 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 les versions 2017-07-29 et ultérieures, Deleted, DeletedTimeet RemainingRetentionDays apparaissent lorsque cette opération inclut le include={deleted} paramètre . Ces éléments n’apparaissent pas si cet objet blob n’a pas été supprimé. Ces éléments apparaissent pour les objets blob ou les instantanés qui sont supprimés avec l’opération 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 à laquelle l’objet blob a été supprimé. 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 les versions 2019-02-02 et ultérieures, 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 include={metadata} paramètre et qu’il existe des métadonnées d’application présentes sur un objet blob chiffré avec une clé fournie par le client, l’élément Metadata aura un Encrypted="true" attribut . 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 List Blobs . Pour accéder aux métadonnées de ces objets blob, appelez Obtenir les propriétés de l’objet blob ou Obtenir des métadonnées d’objet blob avec la clé fournie par le client.

Pour les versions 2019-02-02 et ultérieures, 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 , les include={metadata} métadonnées d’application sur l’objet blob sont déchiffrées en toute transparence et disponibles dans l’élément Metadata .

Pour les versions 2019-12-12 et ultérieures, List Blobs retourne l’élément sur stockage RehydratePriority Blob ou des comptes v2 universels, si l’objet est dans l’état rehydrate pending . Les valeurs valides sont High et Standard.

Pour les versions 2019-12-12 et ultérieures, 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 true. Cet élément vous permet de différencier la version actuelle des versions générées automatiquement en lecture seule.

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

Pour les versions 2019-12-12 et ultérieures, 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, conformément à la stratégie de suivi de l’heure du dernier 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 de l’heure du dernier accès du compte, consultez l’API du service Blob. L’élément LastAccessTime ne suit pas la dernière fois où les métadonnées de l’objet blob sont consultées.

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

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

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

Pour les versions 2020-06-12 et ultérieures, 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 les versions 2020-08-04 et ultérieures, 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 d’accès supprimé de manière réversible, pour le distinguer des autres objets blob supprimés avec le même chemin.

Pour les versions 2020-10-02 et ultérieures, pour les comptes avec un espace de noms hiérarchique activé, List Blobs retourne l’élément ResourceType de propriété pour le chemin d’accès. Il peut s'agir de file ou directory.

Pour les versions 2021-02-12 et ultérieures, List Blobs est encodée en pourcentage (conformément à la RFC 2396) toutes les BlobName valeurs d’élément ou BlobPrefixName . Plus précisément, il le fera pour les 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 Encoded=true attribut . Notez que cela se produit uniquement pour les Name valeurs d’élément contenant les caractères non valides en XML, et non pour les éléments restants Name dans la réponse.

Pour les versions 2021-06-08 et ultérieures, pour les comptes avec un espace de noms hiérarchique activé, List Blobs retourne l’élément Placeholder properties. Il 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’espaces réservés existent pour faciliter la navigation vers les objets blob supprimés de manière réversible.

Pour les versions 2021-06-08 et ultérieures, 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 les versions 2020-02-10 et ultérieures, 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 le même.

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

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

Autorisation

Une 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 List Blobs comme décrit ci-dessous.

Important

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

Le Stockage Azure prend en charge l’utilisation de Microsoft Entra ID pour autoriser les demandes de données blob. Avec Microsoft Entra ID, 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 Microsoft Entra ID pour retourner un jeton OAuth 2.0. Le jeton peut ensuite être utilisé pour autoriser une requête auprès du service BLOB.

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

Autorisations

Vous trouverez ci-dessous l’action RBAC nécessaire pour qu’un utilisateur, un groupe, une identité managée ou un principal de service Microsoft Entra appelle l’opérationList Blobs, ainsi que le rôle RBAC Azure intégré le moins privilégié qui inclut cette action :

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 est renvoyé uniquement pour des objets blob de pages.

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

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 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 Content-MD5 propriété lors de la création de l’objet blob ou en appelant Définir les propriétés de l’objet blob. Dans les versions 2012-02-12 et ultérieures, Put Blob définit la valeur MD5 d’un objet blob de blocs, même lorsque la Put Blob requête 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 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 de nommage des identificateurs C#.

Si une paire nom-valeur de métadonnées enfreint ces restrictions de nommage, le corps de la réponse indique le nom problématique dans un x-ms-invalid-name élément. 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 n’est présent que si le include=tags paramètre a été spécifié sur l’URI et s’il existe des balises sur l’objet blob. Dans l’élément TagSet , jusqu’à 10 Tag éléments sont retournés, chacun contenant les key balises et value de l’index blob défini par l’utilisateur. L’ordre des balises n’est pas garanti dans la réponse.

Les Tags éléments 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 d’être visibles pour les 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é 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.

À l’aide de la version de service 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 au 08/06/2021, une requête qui inclut les deux renvoie une erreur InvalidQueryParameter (code HTTP status 400 – Requête 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 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 include=deleted paramètre 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 a été effectué à l’aide de la List Blobs version 2019-12-12 ou ultérieure. Dans l'élément OrMetadata, la valeur de chaque paire nom-valeur est indiqué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 ImmutabilityPolicyUntilDate éléments et ImmutabilityPolicyMode sont présents uniquement si le include=immutabilitypolicy paramètre a été spécifié sur l’URI.

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

L'élément LegalHold peut être présent uniquement si le paramètre include=legalhold a été spécifié dans l'URI.

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

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

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

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 unique ou une chaîne.

Lorsque la demande comprend ce paramètre, l'opération renvoie un élément BlobPrefix. L’élément BlobPrefix est retourné à la place de tous les objets blob dont les noms commencent par la même sous-chaîne, jusqu’à l’apparence du caractère délimiteur. La valeur de l’élément BlobPrefix est substring+délimiteur, où la sous-chaîne est la sous-chaîne courante qui commence un ou plusieurs noms d’objets blob, et le délimiteur est la valeur du delimiter paramètre.

Vous pouvez utiliser la valeur de BlobPrefix pour effectuer un appel suivant pour répertorier les objets blob qui commencent par ce préfixe. Pour ce faire, spécifiez la valeur de BlobPrefix pour le prefix paramètre sur l’URI de 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 La description de l’état de la copie

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

  • En cas d’échec d’une tentative de copie, CopyStatus est défini sur pending si Stockage Blob tente toujours de réessayer l’opération. Le CopyStatusDescription texte décrit l’échec qui a pu se produire lors de 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 champs de chaque CopyStatusDescription valeur.

Composant Description
Code d’état HTTP Entier standard à trois chiffres 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> n’apparaît<, le service retourne une mot clé qui contient le texte d’erreur standard associé au code http status à trois chiffres dans la spécification HTTP. Pour plus d’informations, consultez les code d’erreur courants de l’API REST.
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 affiché ici peut changer sans avertissement, même sans changement de version. Ne vous fiez pas à la correspondance de ce texte exact.

Scénario Valeur d’état de la copie Valeur de la description de l’état de copie
L'opération de copie s'est terminée avec succès. success empty
L’utilisateur a abandonné l’opération de copie avant qu’elle ne se termine. aborted empty
Un échec s’est produit lors de la lecture à partir de l’objet blob source pendant une opération de copie. Une nouvelle tentative aura lieu. en attente 502 BadGateway « Erreur autorisant une nouvelle tentative lors de la lecture de la source. Nouvelle tentative. Heure de l’échec : <heure> »
Un échec s’est produit lors de l’écriture dans l’objet blob de destination d’une opération de copie. Une nouvelle tentative aura lieu. en attente 500 InternalServerError « Erreur autorisant une nouvelle tentative. Nouvelle tentative. Heure de l’échec : <heure> »
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 ». Lorsque le service signale cette erreur sous-jacente, il retourne ResourceNotFound dans l’élément <ErrorCode> . Si aucun élément ErrorCode> n’est <apparu dans la réponse, une représentation sous forme de chaîne standard de l’status HTTP, telle que NotFound, s’affiche.
Le délai d'expiration limitant toutes les opérations de copie s'est écoulé. (Actuellement, le délai d’expiration est de deux 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 empêche la nouvelle tentative d’une source très médiocre pendant deux semaines avant l’échec). échec 500 OperationCancelled « La copie a échoué lors de la lecture de la source. »

Facturation

Les demandes de tarification peuvent provenir de clients qui utilisent les API Stockage Blob, soit directement via l’API REST Stockage Blob, soit à 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 d’écriture. Le tableau suivant montre la catégorie de facturation pour List Blobs les demandes en fonction du type de compte de stockage :

Opération Type de compte de stockage Catégorie de facturation
List Blobs Objet blob de blocs Premium
Usage général v2 Standard
Usage général v1 standard
Répertorier et Create opérations de conteneur

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

Voir aussi

Codes d’état et d’erreur
Codes d’erreur stockage Blob