Tous les produits
Search
Centre de documentation

Object Storage Service:ListObjectVersions (GetBucketVersions)

Dernière mise à jour :Aug 18, 2026

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 NextKeyMarker et NextVersionIdMarker comme marqueurs de pagination pour la requête suivante.

Valeurs valides : 1 à 999.

Valeur par défaut : 100.

prefix

String

Non

fun

Préfixe que les noms des objets renvoyés doivent contenir.

  • La valeur doit être inférieure à 1 024 octets.

  • S'il est spécifié, seuls les objets dont les noms contiennent le préfixe sont renvoyés.

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.

  • true : tous les résultats ne sont pas renvoyés.

  • false : tous les résultats sont renvoyé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.

  • Pour les objets créés par PutObject, l'ETag est le hachage MD5 du contenu.

  • Pour les objets créés par d'autres méthodes, l'ETag est une valeur unique calculée selon une règle différente, et non le hachage MD5.

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
  • La durée minimale de stockage pour les objets de la classe de stockage Infrequent Access est de 30 jours. La durée est calculée à partir de l'heure Last-Modified de l'objet. Si vous supprimez un objet plus de 30 jours après son heure Last-Modified, aucun frais de suppression anticipée n'est facturé.

  • La durée minimale de stockage pour les objets de la classe de stockage Archive Storage est de 60 jours. La durée est calculée à partir de l'heure Last-Modified de l'objet. Si vous supprimez un objet plus de 60 jours après son heure Last-Modified, aucun frais de suppression anticipée n'est facturé.

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
  • Si vous supprimez un objet Cold Archive ou Deep Cold Archive plus de 180 jours après sa conversion, aucun frais de suppression anticipée n'est facturé. Si vous supprimez l'objet dans les 180 jours suivant sa conversion, des frais de suppression anticipée sont facturés.

  • Ce champ ne peut pas être utilisé pour déterminer la date à laquelle un objet est converti vers la classe de stockage IA ou Archive par une règle de cycle de vie. Le fait qu'un objet IA ou Archive respecte l'exigence de durée minimale de stockage dépend de l'heure Last-Modified.

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 :

  • true

  • false

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.

  • Non inclus si aucune requête RestoreObject n'est envoyée ou si les requêtes expirent.

  • Pendant la restauration, la valeur est ongoing-request="true".

  • Après la restauration, la valeur est au format ongoing-request="false", expiry-date="Thu, 24 Sep 2020 12:40:33 GMT", où expiry-date indique la date limite avant laquelle l'objet restauré peut être lu.

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 oss:ListObjectVersions peuvent appeler cette opération.

InvalidArgument

400