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: SignatureValueHeader 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 Nilai valid: 1 hingga 999. Nilai default: 100. |
prefix | String | Tidak | fun | Awalan yang harus dimiliki oleh nama objek yang dikembalikan.
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.
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.
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.
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.
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:
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.
|
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=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eRespons 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 |
InvalidArgument | 400 |
|