All Products
Search
Document Center

Object Storage Service:ListObjectVersions (GetBucketVersions)

Last Updated:Aug 25, 2026

Menampilkan semua versi objek dalam sebuah bucket, termasuk penanda hapus.

Catatan penggunaan

  • ListObjectVersions (GetBucketVersions) mengembalikan semua versi objek, termasuk penanda hapus. ListObjects (GetBucket) hanya mengembalikan versi terkini tanpa penanda hapus.

  • Saat Anda memanggil ListObjectVersions (GetBucketVersions), objek dikembalikan dalam urutan alfabetis berdasarkan nama, sedangkan versi dari objek yang sama disusun dari yang paling baru ke yang paling lama, terlepas dari urutan alfabetis ID versinya.

  • Jika logging dan kueri log waktu nyata diaktifkan untuk bucket tersebut, bidang operation dalam log yang dihasilkan adalah GetBucket.

  • Pemanggilan ListObjectVersions (GetBucketVersions) ditagih berdasarkan jumlah permintaan PUT, sebagaimana dijelaskan dalam biaya pemanggilan operasi API.

Sintaksis permintaan

GET /?versions HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

Header permintaan

DescribeRegions hanya menggunakan header permintaan umum. Untuk informasi selengkapnya, lihat Header permintaan umum.

Parameter permintaan

Gunakan parameter berikut untuk memfilter hasil: prefix, key-marker, version-id-marker, delimiter, dan max-keys.

Parameter

Tipe

Wajib

Contoh

Deskripsi

delimiter

String

Tidak

/

Karakter yang digunakan untuk mengelompokkan objek berdasarkan nama. Jika prefix dan delimiter keduanya ditentukan, respons berisi CommonPrefixes. Objek yang namanya memiliki string yang sama dari prefix hingga kemunculan delimiter berikutnya dikelompokkan sebagai satu entri CommonPrefixes.

Jika prefix adalah nama direktori dan delimiter adalah garis miring (/), hanya objek dalam direktori tersebut yang dikembalikan. Nama subdirektori muncul dalam CommonPrefixes, tetapi objek dan direktori di dalam subdirektori tidak dicantumkan.

Nilai default: kosong.

key-marker

String

Wajib jika version-id-marker ditentukan.

example

Mengembalikan objek secara alfabetis setelah nilai ini. Dapat digunakan bersama version-id-marker.

Panjang maksimum: 1.024 byte.

Nilai default: kosong.

version-id-marker

String

Tidak

CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****

Mengembalikan versi yang dibuat sebelum penanda ini untuk objek yang ditentukan oleh key-marker, dalam urutan menurun berdasarkan waktu pembuatan. Jika dihilangkan, hasil dimulai dari versi terbaru dari objek yang secara alfabetis berada setelah key-marker.

Nilai default: kosong.

Nilai valid: ID versi.

max-keys

String

Tidak

100

Jumlah maksimum objek yang dikembalikan.

Jika hasil melebihi max-keys, respons mencakup NextKeyMarker dan NextVersionIdMarker sebagai penanda paginasi untuk permintaan berikutnya.

Nilai valid: 1 hingga 999.

Nilai default: 100.

prefix

String

Tidak

fun

Awalan yang harus dimiliki oleh nama objek yang dikembalikan.

  • Nilai harus kurang dari 1.024 byte.

  • Saat Anda menggunakan prefix untuk memfilter hasil, nilai Key dalam respons tetap menyertakan prefix tersebut.

Jika prefix diatur ke nama direktori, semua objek dan subdirektori dalam direktori tersebut akan dicantumkan.

Nilai default: kosong.

encoding-type

String

Tidak

URL

Tipe encoding konten respons.

Nilai default: kosong.

Nilai valid: URL.

Penting

Nilai delimiter, marker, prefix, NextMarker, dan Key di-encode dalam UTF-8. Jika salah satu nilai tersebut mengandung karakter kontrol yang tidak didukung oleh XML 1.0, atur encoding-type untuk meng-encode nilai Delimiter, Marker, Prefix, NextMarker, dan Key dalam respons.

Parameter respons

Parameter

Tipe

Contoh

Deskripsi

ListVersionsResult

Container

N/A

Container untuk hasil ListObjectVersions (GetBucketVersions).

Node anak: Name, Prefix, Marker, MaxKeys, Delimiter, IsTruncated, NextMarker, Version, dan DeleteMarker

Node induk: tidak ada

CommonPrefixes

Container

N/A

Jika delimiter ditentukan, objek yang namanya memiliki string yang sama dari prefix hingga kemunculan delimiter berikutnya dikelompokkan sebagai satu entri CommonPrefixes.

Node induk: ListVersionsResult

Delimiter

String

/

Karakter yang digunakan untuk mengelompokkan objek berdasarkan nama. Objek yang memiliki string yang sama dari prefix hingga kemunculan delimiter berikutnya dikelompokkan sebagai satu entri CommonPrefixes.

Node induk: ListVersionsResult

EncodingType

String

URL

Tipe encoding konten respons. Jika encoding-type ditentukan dalam permintaan, nilai Delimiter, Marker, Prefix, NextMarker, dan Key di-encode.

Node induk: ListVersionsResult

IsTruncated

String

true

Menunjukkan apakah hasil dipotong.

  • true: tidak semua hasil dikembalikan.

  • false: semua hasil dikembalikan.

Nilai valid: true dan false.

Node induk: ListVersionsResult

KeyMarker

String

example

Objek tempat pendaftaran dimulai.

Node induk: ListVersionsResult

VersionIdMarker

String

CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1****

Versi tempat operasi ListObjectVersions (GetBucketVersions) dimulai. Digunakan bersama KeyMarker.

Node induk: ListVersionsResult

NextKeyMarker

String

test

Termasuk saat hasil dipotong. Gunakan sebagai key-marker dalam permintaan berikutnya untuk melanjutkan pencacahan.

Node induk: ListVersionsResult

NextVersionIdMarker

String

CAEQGBiBgIC_jq7P9xYiIDRiZWJkNjY2Y2Q4NDQ5ZTI5ZGE5ODIxMTIyZThl****

Termasuk saat hasil dipotong. Gunakan sebagai version-id-marker dalam permintaan berikutnya untuk melanjutkan pencacahan.

Node induk: ListVersionsResult

MaxKeys

String

1000

Jumlah maksimum objek yang dikembalikan dalam respons.

Node induk: ListVersionsResult

Name

String

examplebucket-1250000000

Nama bucket.

Node induk: ListVersionsResult

Prefix

String

fun

Awalan yang harus disertakan dalam nama objek yang dicantumkan.

Node induk: ListVersionsResult

Version

Container

N/A

Container untuk versi objek, tidak termasuk penanda hapus.

Node induk: ListVersionsResult

DeleteMarker

Container

N/A

Container untuk penanda hapus.

Node induk: ListVersionsResult

ETag

String

250F8A0AE989679A22926A875F0A2****

ETag objek, digunakan untuk mengidentifikasi konten objek.

  • Untuk objek yang dibuat oleh PutObject, ETag adalah hash MD5 dari kontennya.

  • Untuk objek yang dibuat dengan metode lain, ETag adalah nilai unik yang dihitung dengan aturan berbeda, bukan hash MD5.

Catatan

Nilai ETag hanya menunjukkan apakah konten objek telah berubah. Jangan gunakan nilai ETag sebagai hash MD5 dari konten objek untuk memverifikasi integritas data.

Node induk: ListVersionsResult.Version

Key

String

example

Nama objek.

Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker

LastModified

Time

2019-04-09T07:27:28.000Z

Waktu terakhir objek dimodifikasi.

  • Durasi penyimpanan minimum untuk objek dalam kelas penyimpanan Akses Jarang adalah 30 hari. Durasi dihitung dari waktu Last-Modified objek. Jika Anda menghapus objek lebih dari 30 hari setelah waktu Last-Modified-nya, tidak ada biaya penghapusan dini yang dikenakan.

  • Durasi penyimpanan minimum untuk objek dalam kelas penyimpanan Arsip adalah 60 hari. Durasi dihitung dari waktu Last-Modified objek. Jika Anda menghapus objek lebih dari 60 hari setelah waktu Last-Modified-nya, tidak ada biaya penghapusan dini yang dikenakan.

Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker

TransitionTime

Time

2024-04-23T07:21:42.000Z

Waktu ketika kelas penyimpanan objek diubah menjadi Penyimpanan Arsip Dingin atau Deep Cold Archive berdasarkan aturan siklus hidup.

  • Jika Anda menghapus objek Penyimpanan Arsip Dingin atau Deep Cold Archive lebih dari 180 hari setelah dikonversi, tidak ada biaya penghapusan dini yang dikenakan. Jika Anda menghapus objek dalam waktu 180 hari setelah dikonversi, biaya penghapusan dini akan dikenakan.

  • Bidang ini tidak dapat digunakan untuk menentukan waktu ketika objek dikonversi ke kelas penyimpanan IA atau Arsip oleh aturan siklus hidup. Apakah objek IA atau Arsip memenuhi persyaratan durasi penyimpanan minimum bergantung pada waktu Last-Modified.

Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker

VersionId

String

CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN****

ID versi objek.

Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker

IsLatest

String

true

Apakah versi ini merupakan versi terkini.

Nilai valid:

  • true: Versi objek adalah versi terkini.

  • false: Versi objek bukan versi terkini.

Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker

Size

String

93731

Ukuran objek dalam byte.

Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker

StorageClass

String

Standard

Kelas penyimpanan objek.

Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker

Owner

Container

N/A

Container untuk informasi pemilik bucket.

Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker

DisplayName

String

12345125285864390

Nama pemilik objek.

Node induk: ListVersionsResult.Version.Owner dan ListVersionsResult.DeleteMarker.Owner

ID

String

1234512528586****

ID pengguna pemilik bucket.

Node induk: ListVersionsResult.Version.Owner dan ListVersionsResult.DeleteMarker.Owner

RestoreInfo

String

ongoing-request="true"

Keadaan dipulihkan objek.

  • Tidak disertakan jika tidak ada permintaan RestoreObject yang dikirim atau permintaan tersebut telah kedaluwarsa.

  • Saat objek sedang dipulihkan, nilainya adalah ongoing-request="true".

  • Setelah objek dipulihkan, nilainya dalam format ongoing-request="false", expiry-date="Thu, 24 Sep 2020 12:40:33 GMT", di mana expiry-date menunjukkan waktu sebelum objek yang dipulihkan dapat dibaca.

Untuk informasi selengkapnya tentang header respons umum, seperti x-oss-request-id dan Content-Type dalam respons terhadap permintaan ListObjectVersions (GetBucketVersions), lihat Header respons umum.

Contoh

  • Menampilkan versi objek dalam bucket yang tidak memiliki pengendalian versi

    Permintaan contoh

    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****************

    Respons sukses contoh

    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>
  • Menampilkan versi objek dalam bucket yang telah diaktifkan pengendalian versinya

    Bucket oss-example berisi dua objek: example dengan tiga versi (111222, 000123 sebagai penanda hapus, dan 222333, dalam urutan menurun berdasarkan waktu pembuatan), dan pic.jpg dengan satu versi (232323).

    Jika Anda mengatur key-marker ke example dan version-id-marker ke 111222, ketiga versi berikut dikembalikan secara berurutan: 000123 dari example, 222333 dari example, dan 232323 dari pic.jpg.

    Permintaan contoh

    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****************

    Respons sukses contoh

    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>
  • Objek Arsip dan objek Penyimpanan Arsip Dingin yang disimpan dalam bucket yang diminta

    Asumsikan bucket examplebucket berisi objek exampleobject1.txt, exampleobject2.txt, dan exampleobject3.txt. Ketiga objek tersebut berada dalam kelas penyimpanan Penyimpanan Arsip Dingin. Keadaan ketiga objek tersebut adalah sebagai berikut:

    • Untuk exampleobject1.txt, permintaan RestoreObject belum diajukan, atau permintaan RestoreObject yang diajukan telah kedaluwarsa.

    • Untuk exampleobject2.txt, permintaan RestoreObject telah diajukan, dan operasi pemulihan sedang berlangsung.

    • Untuk exampleobject3.txt, permintaan RestoreObject telah diajukan dan operasi pemulihan telah selesai.

    Permintaan contoh

    GET / HTTP/1.1
    Host: examplebucket.oss-cn-hangzhou.aliyuncs.com
    Date: Fri, 24 Feb 2012 08:43:27 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

    Respons contoh

    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

Panggil operasi ini dengan SDK OSS berikut:

Antarmuka baris perintah ossutil

Untuk informasi tentang perintah ossutil yang sesuai dengan operasi ListObjectVersions, lihat list-object-versions.

Kode error

Kode error

Kode status HTTP

Deskripsi

NoSuchBucket

404

Bucket tidak ada. Pastikan nama bucket mengikuti konvensi penamaan.

AccessDenied

403

Hanya pemilik bucket atau pengguna RAM dengan izin oss:ListObjectVersions yang dapat memanggil operasi ini.

InvalidArgument

400

  • Nilai max-keys kurang dari 0 atau lebih dari 1.000.

  • Panjang parameter prefix, marker, atau delimiter tidak valid.