Répertorie toutes les versions d'un objet dans un compartiment, y compris les marqueurs de suppression.
Notes d'utilisation
ListObjectVersions (GetBucketVersions) renvoie toutes les versions d'un objet, y compris les marqueurs de suppression. ListObjects (GetBucket) renvoie uniquement les versions actuelles, sans les marqueurs de suppression.
Les objets sont renvoyés par ordre alphabétique. Les versions de chaque objet sont renvoyées par date de création, par ordre décroissant.
Si la journalisation et l'interrogation des journaux en temps réel sont activées pour le compartiment, le champ d'opération dans le journal généré est GetBucket.
Facturé comme une requête PUT. Consultez les frais d'appel d'API.
Structure de la requête
GET /?versions HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
En-têtes de requête
Cette opération utilise uniquement les en-têtes de requête communs. Pour plus d'informations, consultez les en-têtes de requête communs.
Paramètres de requête
Utilisez ces paramètres pour filtrer les résultats : prefix, key-marker, version-id-marker, delimiter et max-keys.
|
Paramètre |
Type |
Obligatoire |
Exemple |
Description |
|
delimiter |
String |
Non |
/ |
Caractère utilisé pour regrouper les objets par nom. Si prefix et delimiter sont tous deux spécifiés, la réponse contient CommonPrefixes. Les objets dont les noms partagent la même chaîne du préfixe jusqu'à la prochaine occurrence du délimiteur sont regroupés en une seule entrée CommonPrefixes. Si prefix est un nom de répertoire et delimiter est une barre oblique (/), seuls les objets de ce répertoire sont renvoyés. Les noms des sous-répertoires apparaissent dans CommonPrefixes, mais les objets et répertoires contenus dans les sous-répertoires ne sont pas répertoriés. Valeur par défaut : vide. |
|
key-marker |
String |
Obligatoire si version-id-marker est spécifié. |
example |
Renvoie les objets classés alphabétiquement après cette valeur. Peut être utilisé avec version-id-marker. Longueur maximale : 1 024 octets. Valeur par défaut : vide. |
|
version-id-marker |
String |
Non |
CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1**** |
Renvoie les versions créées avant ce marqueur pour l'objet spécifié par key-marker, par ordre décroissant de date de création. S'il est omis, les résultats commencent à partir de la dernière version de l'objet classé alphabétiquement après key-marker. Valeur par défaut : vide. Valeurs valides : ID de version. |
|
max-keys |
String |
Non |
100 |
Nombre maximal d'objets à renvoyer. Si les résultats dépassent max-keys, la réponse inclut Valeurs valides : 1 à 999. Valeur par défaut : 100. |
|
prefix |
String |
Non |
fun |
Préfixe que les noms des objets renvoyés doivent contenir.
Si prefix est défini sur un nom de répertoire, tous les objets et sous-répertoires de ce répertoire sont répertoriés. Valeur par défaut : vide. |
|
encoding-type |
String |
Non |
URL |
Type d'encodage du contenu de la réponse. Valeur par défaut : vide. Valeur valide : URL. Important
Les valeurs de delimiter, marker, prefix, NextMarker et Key sont encodées en UTF-8. Si l'une de ces valeurs contient des caractères de contrôle non pris en charge par XML 1.0, spécifiez encoding-type pour les encoder dans la réponse. |
Paramètres de réponse
|
Paramètre |
Type |
Exemple |
Description |
|
ListVersionsResult |
Container |
N/A |
Conteneur pour les résultats de ListObjectVersions (GetBucketVersions). Nœuds enfants : Name, Prefix, Marker, MaxKeys, Delimiter, IsTruncated, NextMarker, Version et DeleteMarker Nœuds parents : aucun |
|
CommonPrefixes |
Container |
N/A |
Si delimiter est spécifié, les objets dont les noms partagent la même chaîne du préfixe jusqu'à la prochaine occurrence du délimiteur sont regroupés en une seule entrée CommonPrefixes. Nœuds parents : ListVersionsResult |
|
Delimiter |
String |
/ |
Caractère utilisé pour regrouper les objets par nom. Les objets partageant la même chaîne du préfixe jusqu'à la prochaine occurrence du délimiteur sont regroupés en une seule entrée CommonPrefixes. Nœuds parents : ListVersionsResult |
|
EncodingType |
String |
URL |
Type d'encodage du contenu de la réponse. Si encoding-type est spécifié dans la requête, les valeurs de Delimiter, Marker, Prefix, NextMarker et Key sont encodées. Nœuds parents : ListVersionsResult |
|
IsTruncated |
String |
true |
Indique si les résultats sont tronqués.
Valeurs valides : true et false. Nœuds parents : ListVersionsResult |
|
KeyMarker |
String |
example |
Objet à partir duquel commence le listage. Nœuds parents : ListVersionsResult |
|
VersionIdMarker |
String |
CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1**** |
Version à partir de laquelle l'opération ListObjectVersions (GetBucketVersions) commence. Utilisé avec KeyMarker. Nœuds parents : ListVersionsResult |
|
NextKeyMarker |
String |
test |
Inclus lorsque les résultats sont tronqués. À utiliser comme key-marker dans la requête suivante pour poursuivre le listage. Nœuds parents : ListVersionsResult |
|
NextVersionIdMarker |
String |
CAEQGBiBgIC_jq7P9xYiIDRiZWJkNjY2Y2Q4NDQ5ZTI5ZGE5ODIxMTIyZThl**** |
Inclus lorsque les résultats sont tronqués. À utiliser comme version-id-marker dans la requête suivante pour poursuivre le listage. Nœuds parents : ListVersionsResult |
|
MaxKeys |
String |
1000 |
Nombre maximal d'objets renvoyés dans la réponse. Nœuds parents : ListVersionsResult |
|
Name |
String |
examplebucket-1250000000 |
Nom du compartiment. Nœuds parents : ListVersionsResult |
|
Prefix |
String |
fun |
Préfixe qui doit être inclus dans les noms des objets répertoriés. Nœuds parents : ListVersionsResult |
|
Version |
Container |
N/A |
Conteneur pour les versions d'objet, à l'exclusion des marqueurs de suppression. Nœuds parents : ListVersionsResult |
|
DeleteMarker |
Container |
N/A |
Conteneur pour les marqueurs de suppression. Nœuds parents : ListVersionsResult |
|
ETag |
String |
250F8A0AE989679A22926A875F0A2**** |
ETag de l'objet, utilisé pour identifier le contenu de l'objet.
Remarque
L'ETag indique uniquement si le contenu de l'objet a changé. Utilisez plutôt le hachage MD5 pour vérifier l'intégrité des données. Nœuds parents : ListVersionsResult.Version |
|
Key |
String |
example |
Nom de l'objet. Nœuds parents : ListVersionsResult.Version et ListVersionsResult.DeleteMarker |
|
LastModified |
Time |
2019-04-09T07:27:28.000Z |
Date de dernière modification de l'objet. Remarque
Nœuds parents : ListVersionsResult.Version et ListVersionsResult.DeleteMarker |
|
TransitionTime |
Time |
2024-04-23T07:21:42.000Z |
Date à laquelle la classe de stockage de l'objet est modifiée en Cold Archive ou Deep Cold Archive en fonction des règles de cycle de vie. Remarque
Nœuds parents : ListVersionsResult.Version et ListVersionsResult.DeleteMarker |
|
VersionId |
String |
CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN**** |
ID de version de l'objet. Nœuds parents : ListVersionsResult.Version et ListVersionsResult.DeleteMarker |
|
IsLatest |
String |
true |
Indique si cette version est la version actuelle. Valeurs valides :
Nœuds parents : ListVersionsResult.Version et ListVersionsResult.DeleteMarker |
|
Size |
String |
93731 |
Taille de l'objet en octets. Nœuds parents : ListVersionsResult.Version et ListVersionsResult.DeleteMarker |
|
StorageClass |
String |
Standard |
Classe de stockage de l'objet. Nœuds parents : ListVersionsResult.Version et ListVersionsResult.DeleteMarker |
|
Owner |
Container |
N/A |
Conteneur pour les informations sur le propriétaire du compartiment. Nœuds parents : ListVersionsResult.Version et ListVersionsResult.DeleteMarker |
|
DisplayName |
String |
12345125285864390 |
Nom du propriétaire de l'objet. Nœuds parents : ListVersionsResult.Version.Owner et ListVersionsResult.DeleteMarker.Owner |
|
ID |
String |
1234512528586**** |
ID utilisateur du propriétaire du compartiment. Nœuds parents : ListVersionsResult.Version.Owner et ListVersionsResult.DeleteMarker.Owner |
|
RestoreInfo |
String |
ongoing-request="true" |
État de restauration de l'objet.
|
Pour plus d'informations sur les en-têtes de réponse communs, tels que x-oss-request-id et Content-Type dans la réponse à une requête ListObjectVersions (GetBucketVersions), consultez les en-têtes de réponse communs.
Exemples
-
Répertorier les versions d'objets dans un compartiment sans gestion des versions
Exemple de requête
GET /?versions HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 07:27:48 GMT Authorization: OSS qn6q**************:77Dv****************Exemple de réponse réussie
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: 1262 Connection: keep-alive Date: Thu, Tue, 09 Apr 2019 07:27:48 GMT Server: AliyunOSS x-oss-request-id: 534B371674E88A4D8906**** <ListVersionsResult> <Name>examplebucket-1250000000</Name> <Prefix/> <KeyMarker/> <VersionIdMarker/> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Version> <Key>example-object-1.jpg</Key> <VersionId/> <IsLatest>true</IsLatest> <LastModified>2019-08-5T12:03:10.000Z</LastModified> <ETag>5B3C1A2E053D763E1B669CC607C5A0FE1****</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> <TransitionTime>2024-04-23T07:21:42.000Z</TransitionTime> </Version> <Version> <Key>example-object-2.jpg</Key> <VersionId/> <IsLatest>true</IsLatest> <LastModified>2019-08-9T12:03:09.000Z</LastModified> <ETag>5B3C1A2E053D763E1B002CC607C5A0FE1****</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> <Version> <Key>example-object-3.jpg</Key> <VersionId/> <IsLatest>true</IsLatest> <LastModified>2019-08-10T12:03:08.000Z</LastModified> <ETag>4B3F1A2E053D763E1B002CC607C5AGTRF****</ETag> <Size>20</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1250000000</ID> <DisplayName>1250000000</DisplayName> </Owner> </Version> </ListVersionsResult> -
Répertorier les versions d'objets dans un compartiment avec gestion des versions activée
Le compartiment oss-example contient deux objets : example avec trois versions (111222, 000123 en tant que marqueur de suppression et 222333, par ordre décroissant de date de création), et pic.jpg avec une version (232323).
Si vous définissez key-marker sur example et version-id-marker sur 111222, les trois versions suivantes sont renvoyées dans l'ordre : 000123 de example, 222333 de example et 232323 de pic.jpg.
Exemple de requête
GET /?versions&key-marker=example&version-id-marker=CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1**** HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 07:27:48 GMT Authorization: OSS qn6q**************:77Dv****************Exemples de réponses réussies
HTTP/1.1 200 OK x-oss-request-id: 5CAC4974B7AEADE01700**** Date: Tue, 09 Apr 2019 07:27:48 GMT Content-Type: application/xml Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListVersionsResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com"> <Name>oss-example</Name> <Prefix></Prefix> <KeyMarker>example</KeyMarker> <VersionIdMarker>CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****</VersionIdMarker> <MaxKeys>100</MaxKeys> <Delimiter></Delimiter> <IsTruncated>false</IsTruncated> <DeleteMarker> <Key>example</Key> <VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****</VersionId> <IsLatest>false</IsLatest> <LastModified>2019-04-09T07:27:28.000Z</LastModified> <Owner> <ID>1234512528586****</ID> <DisplayName>12345125285864390</DisplayName> </Owner> </DeleteMarker> <Version> <Key>example</Key> <VersionId>CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****</VersionId> <IsLatest>false</IsLatest> <LastModified>2019-04-09T07:27:28.000Z</LastModified> <ETag>"250F8A0AE989679A22926A875F0A2****"</ETag> <Type>Normal</Type> <Size>93731</Size> <StorageClass>Standard</StorageClass> <Owner> <ID>1234512528586****</ID> <DisplayName>12345125285864390</DisplayName> </Owner> </Version> <Version> <Key>pic.jpg</Key> <VersionId>CAEQMxiBgMCZov2D0BYiIDY4MDllOTc2YmY5MjQxMzdiOGI3OTlhNTU0ODIx****</VersionId> <IsLatest>true</IsLatest> <LastModified>2019-04-09T07:27:28.000Z</LastModified> <ETag>"3663F7B0B9D3153F884C821E7CF4****"</ETag> <Type>Normal</Type> <Size>574768</Size> <StorageClass>Standard</StorageClass> <Owner> <ID>1234512528586****</ID> <DisplayName>12345125285864390</DisplayName> </Owner> </Version> </ListVersionsResult> -
Objets Archive et Cold Archive stockés dans le compartiment demandé
HTTP/1.1 200 OK x-oss-request-id: 5CAC4974B7AEADE01700**** Date: Tue, 09 Apr 2019 07:27:48 GMT Content-Type: application/xml Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListVersionsResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com"> <Name>oss-example</Name> <Prefix></Prefix> <KeyMarker>example</KeyMarker> <VersionIdMarker>CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****</VersionIdMarker> <MaxKeys>100</MaxKeys> <Delimiter></Delimiter> <IsTruncated>false</IsTruncated> <Version> <Key>exampleobject1.txt</Key> <VersionId>CAEQMxiBgICAof2D0BYiIDJhMGE3N2M1YTI1NDQzOGY5NTkyNTI3MGYyMzJm****</VersionId> <IsLatest>false</IsLatest> <LastModified>2019-04-09T07:27:28.000Z</LastModified> <Owner> <ID>1234512528586****</ID> <DisplayName>12345125285864390</DisplayName> </Owner> </Version> <Version> <Key>exampleobject2.txt</Key> <VersionId>CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****</VersionId> <IsLatest>false</IsLatest> <LastModified>2019-04-09T07:27:28.000Z</LastModified> <ETag>"250F8A0AE989679A22926A875F0A2****"</ETag> <Type>Normal</Type> <Size>93731</Size> <StorageClass>Standard</StorageClass> <RestoreInfo>ongoing-request="true"</RestoreInfo> <Owner> <ID>1234512528586****</ID> <DisplayName>12345125285864390</DisplayName> </Owner> </Version> <Version> <Key>exampleobject3.txt</Key> <VersionId>CAEQMxiBgMCZov2D0BYiIDY4MDllOTc2YmY5MjQxMzdiOGI3OTlhNTU0ODIx****</VersionId> <IsLatest>true</IsLatest> <LastModified>2019-04-09T07:27:28.000Z</LastModified> <ETag>"3663F7B0B9D3153F884C821E7CF4****"</ETag> <Type>Normal</Type> <Size>574768</Size> <StorageClass>Standard</StorageClass> <RestoreInfo>ongoing-request="false", expiry-date="Thr, 24 Mon 2020 12:40:33 GMT"</RestoreInfo> <Owner> <ID>1234512528586****</ID> <DisplayName>12345125285864390</DisplayName> </Owner> </Version> </ListVersionsResult>
SDK OSS
Appelez cette opération avec les SDK OSS suivants :
ossutil
Pour obtenir des informations sur la commande ossutil correspondant à l'opération ListObjectVersions, consultez list-object-versions.
Codes d'erreur
|
Code d'erreur |
Code d'état HTTP |
Description |
|
NoSuchBucket |
404 |
Le compartiment n'existe pas. Vérifiez que le nom du compartiment respecte les conventions de dénomination. |
|
AccessDenied |
403 |
Seul le propriétaire du compartiment ou les utilisateurs RAM disposant de l'autorisation |
|
InvalidArgument |
400 |
|