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 reçues par le serveur. 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 qu’il est fourni dans la demande. Si truela valeur est , les valeurs d’identité utilisateur retournées dans les <champs Propriétaire>, <Groupe> et <Acl> sont transformées de Microsoft Entra ID d’objet en noms d’utilisateur principal. 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 requête, consultez Énumération de ressources d’objets 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 État et codes 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 demande 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 du stockage Blob utilisée pour exécuter la demande. Cet en-tête est retourné pour les demandes effectuées à l’aide de la version 2009-09-19 et ultérieure.

Cet en-tête est également retourné pour les requêtes anonymes, sans qu’une version soit spécifiée, si le conteneur a été marqué pour l’accès public à l’aide de la version 2009-09-2009-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 , s’il est présent dans la demande. 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 requête, 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 s’affiche 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 valeur lorsque vous chargez un objet blob à l’aide Content-MD5 de Put Blob. Le Stockage Blob ne calcule pas cela lorsque vous créez un objet blob à l’aide de La liste de blocs put. 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 de 19/09/2009 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 status code 409 (Conflit) si le résultat de la liste contient un objet blob d’ajout.

LeaseState et LeaseDuration n’apparaissent que dans les versions 2012-02-12 et ultérieures.

CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTimeet CopyStatusDescription n’apparaissent que dans les versions 2012-02-12 et ultérieures, 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 . Toujours dans les versions 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 d’objet blob et d’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 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 à l’état en attente de réalimentation, 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-2017 et ultérieures, List Blobs retourne l’élément sur stockage AccessTierInferred Blob ou les 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 n’est présent que si le niveau est déduit à partir de la propriété de compte.

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

Pour les versions 29-07-2017 et ultérieures, Deleted, DeletedTimeet RemainingRetentionDays s’affichent 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 s’affichent 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 les versions 2017-11-09 et ultérieures, 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 sera 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 Get Blob Properties ou Get Blob Metadata avec la clé fournie par le client.

Pour les versions 2019-02-02 et ultérieures, List Blobs retourne l’élément si l’objet EncryptionScope blob est chiffré avec une étendue de chiffrement. La valeur sera 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 de manière transparente et disponibles dans l’élément Metadata .

Pour les versions 2019-12-2012 et ultérieures, List Blobs retourne l’élément sur stockage RehydratePriority Blob ou les comptes v2 à usage général, si l’objet est à 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 les versions 2019-12-12 et ultérieures, 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-2012 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 les versions 2020-02-10 et ultérieures, List Blobs retourne l’élément LastAccessTime . L’élément indique le moment où les données de l’objet blob ont été consultées pour la dernière fois, conformément à 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 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 les versions 2020-06-12 et ultérieures, 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 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 property 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 l’encodage en pourcentage (selon 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 dans 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 de 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’espace réservé, 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 de ressources d’objets 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.

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 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 l’accès aux données d’objets blob.

Remarques

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

Si vous avez demandé que des 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 d’affectation de noms pour les 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 illustre 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 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 des balises d’index d’objet blob définies 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 qu’elles ne soient 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 à 2021-06-08, une requête qui inclut les deux renvoie une erreur InvalidQueryParameter (http status code 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 sur une demande 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ù substring est la sous-chaîne courante qui commence un ou plusieurs noms d’objets blob, et délimiteur est la valeur du delimiter paramètre .

Vous pouvez utiliser la valeur de BlobPrefix pour effectuer un appel suivant afin de 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 la requête.

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 effectue toujours une nouvelle tentative d’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 à 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> 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 modification de version. Ne vous fiez pas à ce texte exact.

Scénario Valeur d’état de copie Valeur de copie de la description de l’état
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’attente 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 des API Stockage Blob, soit directement via l’API REST Stockage Blob, soit à partir d’une bibliothèque cliente stockage Azure. Ces demandes cumulent des frais par transaction. Le type de transaction affecte la façon dont le compte est facturé. Par exemple, les transactions de lecture sont comptabilisées dans une catégorie de facturation différente de celle des transactions en é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 créer des opérations de conteneur

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

Voir aussi

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