Mencantumkan versi semua objek dalam bucket, termasuk penanda hapus.
Catatan penggunaan
Saat memanggil operasi ListObjectVersions (GetBucketVersions), semua versi objek di bucket dikembalikan, termasuk penanda hapus. Saat memanggil operasi ListObjects (GetBucket), hanya versi terkini dari objek yang dikembalikan, tanpa penanda hapus.
Saat memanggil operasi ListObjectVersions (GetBucketVersions), objek dikembalikan berdasarkan urutan abjad, sedangkan versi setiap objek diurutkan berdasarkan waktu pembuatan secara menurun.
Jika Anda mengaktifkan logging dan log kueri real-time untuk bucket yang digunakan dalam pemanggilan operasi ListObjectVersions (GetBucketVersions), nilai bidang operasi dalam log yang dihasilkan adalah GetBucket.
Anda akan dikenakan biaya berdasarkan jumlah permintaan PUT saat memanggil operasi ListObjectVersions (GetBucketVersions). Untuk informasi lebih lanjut, lihat biaya pemanggilan operasi API.
Struktur permintaan
GET /?versions HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValueHeader permintaan
Semua header dalam permintaan DescribeRegions merupakan header permintaan umum. Untuk informasi lebih lanjut, lihat header permintaan umum.
Parameter permintaan
Saat memanggil operasi GetBucketVersions (ListObjectVersions), Anda dapat menentukan parameter berikut untuk menyaring hasil yang dikembalikan: prefix, key-marker, version-id-marker, delimiter, dan max-keys.
Parameter | Tipe | Diperlukan | Contoh | Deskripsi |
delimiter | String | Tidak | / | Karakter yang ingin Anda gunakan untuk mengelompokkan objek berdasarkan nama. Jika Anda menentukan prefix dan delimiter dalam permintaan, respons berisi CommonPrefixes. Objek yang namanya mengandung string yang sama dari prefix hingga kemunculan berikutnya dari delimiter dikelompokkan sebagai elemen hasil tunggal dalam CommonPrefixes. Jika Anda menyetel prefix ke nama direktori dan delimiter ke garis miring (/), hanya objek dalam direktori yang dikembalikan. Nama subdirektori dalam direktori tersebut dikembalikan dalam elemen CommonPrefixes. Namun, objek dan direktori dalam subdirektori tidak dicantumkan. Secara default, parameter ini dibiarkan kosong. |
key-marker | String | Parameter key-marker diperlukan jika parameter version-id-marker ditentukan. | contoh | Menentukan bahwa objek yang namanya secara alfabetis setelah nilai parameter key-marker dikembalikan. Parameter ini dapat ditentukan bersama dengan version-id-marker. Nilai key-marker harus kurang dari 1.024 byte panjangnya. Secara default, parameter ini dibiarkan kosong. |
version-id-marker | String | Tidak | CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1**** | Menentukan bahwa versi yang dibuat sebelum versi yang ditentukan oleh version-id-marker untuk objek yang namanya ditentukan oleh key-marker dikembalikan berdasarkan waktu pembuatan dalam urutan menurun. Secara default, jika parameter ini tidak ditentukan, hasilnya dikembalikan dari versi terbaru objek yang namanya secara alfabetis lebih besar dari nilai key-marker. Secara default, parameter ini dibiarkan kosong. Nilai valid: ID versi. |
max-keys | String | Tidak | 100 | Jumlah maksimum objek yang akan dikembalikan. Jika jumlah objek yang dikembalikan melebihi nilai parameter max-keys, respons berisi parameter Nilai valid: 1 hingga 999. Nilai default: 100. |
prefix | String | Tidak | fun | Prefix yang harus dimiliki oleh nama objek yang dikembalikan.
Jika Anda menyetel prefix ke nama direktori dalam permintaan, objek yang namanya mengandung prefix tersebut dicantumkan, termasuk semua objek dan subdirektori dalam direktori. Secara default, parameter ini dibiarkan kosong. |
encoding-type | String | Tidak | URL | Tipe penyandian konten dalam respons. Secara default, parameter ini dibiarkan kosong. Nilai valid: URL. Penting Nilai delimiter, marker, prefix, NextMarker, dan Key dikodekan UTF-8. Jika nilai delimiter, marker, prefix, NextMarker, atau Key mengandung karakter kontrol yang tidak didukung oleh standar XML 1.0, Anda dapat menentukan parameter encoding-type untuk menyandikan nilai dalam respons. |
Parameter respons
Parameter | Tipe | Contoh | Deskripsi |
ListVersionsResult | Container | N/A | Wadah yang menyimpan hasil operasi ListObjectVersions (GetBucketVersions). Node anak: Name, Prefix, Marker, MaxKeys, Delimiter, IsTruncated, NextMarker, Version, dan DeleteMarker Node induk: none |
CommonPrefixes | Container | N/A | Menunjukkan bahwa jika parameter delimiter ditentukan dalam permintaan, respons berisi parameter CommonPrefixes. Objek yang namanya mengandung string yang sama dari prefix hingga kemunculan berikutnya dari delimiter dikelompokkan sebagai elemen hasil tunggal dalam CommonPrefixes. Node induk: ListVersionsResult |
Delimiter | String | / | Karakter yang digunakan untuk mengelompokkan objek berdasarkan nama. Objek yang namanya mengandung string yang sama dari prefix hingga kemunculan berikutnya dari delimiter dikelompokkan sebagai elemen hasil tunggal dalam parameter CommonPrefixes. Node induk: ListVersionsResult |
EncodingType | String | URL | Tipe penyandian konten dalam respons. Jika Anda menentukan encoding-type dalam permintaan, nilai Delimiter, Marker, Prefix, NextMarker, dan Key disandikan dalam respons. Node induk: ListVersionsResult |
IsTruncated | String | true | Menunjukkan apakah hasil yang dikembalikan dipotong.
Nilai valid: true dan false. Node induk: ListVersionsResult |
KeyMarker | String | contoh | Menunjukkan objek dari mana operasi ListObjectVersions (GetBucketVersions) dimulai. Node induk: ListVersionsResult |
VersionIdMarker | String | CAEQMxiBgICbof2D0BYiIGRhZjgwMzJiMjA3MjQ0ODE5MWYxZDYwMzJlZjU1**** | Versi dari mana operasi ListObjectVersions (GetBucketVersions) dimulai. Parameter ini digunakan bersama dengan KeyMarker. Node induk: ListVersionsResult |
NextKeyMarker | String | tes | Jika tidak semua hasil dikembalikan untuk permintaan, parameter NextKeyMarker disertakan dalam respons untuk menunjukkan nilai key-marker permintaan ListObjectVersions (GetBucketVersions) berikutnya. Node induk: ListVersionsResult |
NextVersionIdMarker | String | CAEQGBiBgIC_jq7P9xYiIDRiZWJkNjY2Y2Q4NDQ5ZTI5ZGE5ODIxMTIyZThl**** | Jika tidak semua hasil dikembalikan untuk permintaan, parameter NextVersionIdMarker disertakan dalam respons untuk menunjukkan nilai version-id-marker permintaan ListObjectVersions (GetBucketVersions) berikutnya. Node induk: ListVersionsResult |
MaxKeys | String | 1000 | Jumlah maksimum objek yang dapat dikembalikan dalam respons. Node induk: ListVersionsResult |
Name | String | examplebucket-1250000000 | Nama bucket. Node induk: ListVersionsResult |
Prefix | String | fun | Prefix yang harus dimiliki oleh nama objek yang dicantumkan. Node induk: ListVersionsResult |
Version | Container | N/A | Wadah yang menyimpan versi objek, tidak termasuk penanda hapus. Node induk: ListVersionsResult |
DeleteMarker | Container | N/A | Wadah yang menyimpan penanda hapus. Node induk: ListVersionsResult |
ETag | String | 250F8A0AE989679A22926A875F0A2**** | ETag yang dihasilkan saat objek dibuat. ETag digunakan untuk mengidentifikasi konten objek.
Catatan ETag objek hanya dapat digunakan untuk memeriksa apakah konten objek telah dimodifikasi. Kami merekomendasikan agar Anda menggunakan hash MD5 objek alih-alih ETag objek untuk memverifikasi integritas data. Node induk: ListVersionsResult.Version |
Key | String | contoh | Nama objek. Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker |
LastModified | Waktu | 2019-04-09T07:27:28.000Z | Waktu terakhir kali objek yang dikembalikan dimodifikasi. Catatan
Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker |
TransitionTime | Waktu | 2024-04-23T07:21:42.000Z | Waktu ketika kelas penyimpanan objek yang dikembalikan diubah menjadi Penyimpanan Arsip Dingin atau Penyimpanan Arsip Sangat Dingin berdasarkan aturan siklus hidup. Catatan
Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker |
VersionId | String | CAEQMxiBgMDNoP2D0BYiIDE3MWUxNzgxZDQxNTRiODI5OGYwZGMwNGY3MzZjN**** | ID versi objek. Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker |
IsLatest | String | true | Menunjukkan apakah versi tersebut adalah versi terkini. Nilai valid:
Node induk: ListVersionsResult.Version dan ListVersionsResult.DeleteMarker |
Size | String | 93731 | Ukuran objek. Satuan: 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 | Wadah yang menyimpan informasi tentang 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" | Status pemulihan objek.
|
Untuk informasi lebih lanjut tentang header respons umum, seperti x-oss-request-id dan Content-Type dalam respons terhadap permintaan ListObjectVersions (GetBucketVersions), lihat Header Respons Umum.
Contoh
Mencantumkan versi objek dalam bucket tanpa versi
Contoh Permintaan
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****************Contoh Respons Sukses
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>Mencantumkan versi objek dalam bucket dengan versi aktif
Dalam contoh ini, dua objek bernama example dan pic.jpg disimpan dalam bucket bernama oss-example. Objek bernama example memiliki tiga versi berikut yang ditampilkan berdasarkan waktu pembuatan dalam urutan menurun: 111222, 000123 (penanda hapus), dan 222333. Objek bernama pic.jpg hanya memiliki satu versi dengan ID 232323.
Jika Anda menyetel key-marker ke example dan version-id-marker ke 111222, tiga versi berikut dikembalikan secara berurutan: 000123 dari example, 222333 dari example, dan 232323 dari pic.jpg.
Contoh Permintaan
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****************Contoh Respons Sukses
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 Penyimpanan Arsip Dingin yang disimpan dalam bucket yang diminta
Dalam contoh ini, bucket examplebucket berisi objek Penyimpanan Arsip Dingin berikut: exampleobject1.txt, exampleobject2.txt, dan exampleobject3.txt. Ketiga objek tersebut berada dalam status berikut:
Tidak ada permintaan RestoreObject yang dikirim untuk memulihkan exampleobject1.txt atau permintaan RestoreObject yang dikirim untuk memulihkan objek tersebut telah kedaluwarsa.
Permintaan RestoreObject dikirim untuk memulihkan exampleobject2.txt dan objek tersebut sedang dipulihkan.
Permintaan RestoreObject dikirim untuk memulihkan exampleobject3.txt dan objek tersebut telah dipulihkan.
Contoh Permintaan
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=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eContoh Respons Sukses
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
Anda dapat menggunakan SDK OSS untuk bahasa pemrograman berikut untuk memanggil operasi ListObjectVersions (GetBucketVersions):
ossutil
Untuk informasi tentang perintah ossutil yang sesuai dengan operasi ListObjectVersions, lihat list-object-versions.
Kode kesalahan
Kode kesalahan | Kode status HTTP | Deskripsi |
NoSuchBucket | 404 | Bucket yang diminta tidak ada. Periksa apakah nama bucket yang diminta sesuai dengan aturan penamaan. |
AccessDenied | 403 | Anda tidak memiliki izin untuk mengakses bucket. Hanya pemilik bucket dan pengguna RAM yang diberi izin |
InvalidArgument | 400 |
|