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.txt de 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 maxresults pas 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 true la 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 false la 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é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
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
, CopyCompletionTime
et 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 Properties
de , Put Blob
ou 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
, Cool
et 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
, DeletedTime
et 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
, Permissions
et 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 Blob
Name
valeurs d’élément ou.BlobPrefix
Name
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 :
- Action RBAC Azure :Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
- Rôle intégré le moins privilégié :Lecteur de données blob de stockage
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>
Conservation légale dans la réponse
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 surpending
si Stockage Blob effectue toujours une nouvelle tentative d’opération. LeCopyStatusDescription
texte décrit l’échec qui a pu se produire lors de la dernière tentative de copie.Lorsque
CopyStatus
a la valeurfailed
, 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 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.