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 maxresults 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 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
, MaxResults
et 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édemmentLastModified
)Content-Length
(précédemmentSize
)Content-Type
(précédemmentContentType
)Content-Encoding
(précédemmentContentEncoding
)Content-Language
(précédemmentContentLanguage
)
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
, CopyCompletionTime
et 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 Blob
ou 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
, Cool
et 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-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 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
, DeletedTime
et 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
, Permissions
et 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 Blob
Name
ou BlobPrefix
Name
. 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 :
- action RBAC Azure :Microsoft.Storage/storageAccounts/blobServices/containers/blobs/blobs/read
- rôle intégré moins privilégié :lecteur de données Blob du stockage
Si vous spécifiez include=tags
:
- action RBAC Azure :Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read
- rôle intégré le moins privilégié :propriétaire des données blob du stockage
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>
Conservation légale dans la réponse
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 surpending
si le Stockage Blob tente toujours l’opération. Le texteCopyStatusDescription
décrit l’échec qui a pu se produire lors de la dernière tentative de copie.Lorsque
CopyStatus
est défini surfailed
, le texteCopyStatusDescription
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