Operasi ListObjectsV2 (GetBucketV2) mencantumkan informasi mengenai objek dalam sebuah bucket.
Sintaksis permintaan
GET /?list-type=2 HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValueCatatan penggunaan
Permintaan ListObjectsV2 (GetBucketV2) tidak mengembalikan metadata objek kustom. Secara default, satu respons berisi maksimal 100 objek. Untuk mengambil semua objek, Anda harus melakukannya secara bertahap menggunakan parameter seperti NextContinuationToken dan continuationToken.
Untuk mencantumkan semua objek dalam sebuah bucket, Anda harus memiliki izin
oss:ListObjects.Jika Anda mengaktifkan log storage atau real-time log query, nilai bidang operation dalam access log yang dihasilkan untuk operasi ini adalah
GetBucket.Jika versioning diaktifkan untuk sebuah bucket, operasi overwrite atau penghapusan tidak sengaja akan menghasilkan banyak delete marker dan versi sebelumnya. Konfigurasikan aturan lifecycle untuk membersihkan delete marker dan versi sebelumnya yang tidak diperlukan secara berkala guna mencegah penurunan performa pencatatan.
Pemanggilan operasi ListObjectsV2 (GetBucketV2) ditagih sebagai permintaan PUT. Untuk informasi selengkapnya, lihat PUT requests.
Parameter permintaan
Name | Type | Required | Example | Description |
list-type | Number | Yes | 2 | Nilainya tetap 2. |
delimiter | String | No | / | Karakter untuk mengelompokkan nama objek. Semua nama objek yang mengandung awalan yang ditentukan dan muncul sebelum kemunculan pertama delimiter dikelompokkan sebagai satu elemen (CommonPrefixes). Nilai default: none |
start-after | String | No | b | Menentukan bahwa daftar objek dikembalikan mulai dari objek yang secara alfabetis mengikuti nilai start-after. Parameter ini digunakan untuk pagination. Panjang parameter ini harus kurang dari 1024 byte. Untuk kueri kondisional, meskipun nilai start-after tidak ada dalam daftar, respons dimulai dari objek berikutnya yang mengikuti nilai start-after tersebut secara alfabetis. Nilai default: none |
continuation-token | String | No | test1.txt | Menentukan token tempat operasi pencatatan dimulai. Anda dapat memperoleh token ini dari nilai NextContinuationToken dalam respons operasi ListObjectsV2 (GetBucketV2) sebelumnya. |
max-keys | Number | No | 100 | Menentukan jumlah maksimum objek yang dikembalikan. Nilainya harus lebih besar dari 0 dan kurang dari atau sama dengan 1000. Nilai default: 100
|
prefix | String | No | a | Membatasi respons hanya pada kunci yang diawali dengan awalan yang ditentukan. Jika Anda menetapkan prefix ke nama folder, operasi ini mencantumkan semua file dan subfolder secara rekursif di dalam folder tersebut. Jika Anda menggunakan parameter prefix bersamaan dengan parameter delimiter yang diatur ke garis miring (/), operasi ini hanya mencantumkan file langsung di dalam folder tersebut. Nama subfolder dikembalikan dalam CommonPrefixes, dan isi subfolder tidak dicantumkan. Sebagai contoh, sebuah bucket berisi tiga objek: fun/test.jpg, fun/movie/001.avi, dan fun/movie/007.avi. Jika Anda menetapkan prefix ke fun/, ketiga objek tersebut dikembalikan. Jika Anda menetapkan prefix ke fun/ dan delimiter ke garis miring (/), file fun/test.jpg dan folder fun/movie/ dikembalikan.
Nilai default: none |
encoding-type | String | No | url | Encode respons dan tentukan jenis encoding-nya. Nilai default: none Nilai valid: url Jika `delimiter`, `start-after`, `prefix`, `NextContinuationToken`, atau `Key` mengandung karakter kontrol yang tidak didukung oleh XML 1.0, Anda dapat menentukan parameter `encoding-type` untuk melakukan URL-encode terhadap elemen-elemen tersebut dalam respons. Parameter `delimiter`, `start-after`, `prefix`, `NextContinuationToken`, dan `Key` menggunakan character encoding UTF-8. |
fetch-owner | Boolean | No | false | Menentukan apakah informasi pemilik disertakan dalam respons. Nilai valid: true, false
Nilai default: false |
Parameter respons
Name | Type | Example | Description |
Contents | Container | N/A | Wadah untuk metadata setiap objek yang dikembalikan. Node induk: ListBucketResult |
CommonPrefixes | Container | N/A | Jika permintaan menentukan parameter Delimiter, respons menyertakan elemen CommonPrefixes. Elemen ini menunjukkan kumpulan nama objek yang diakhiri dengan delimiter dan memiliki awalan umum. Node induk: ListBucketResult Node anak: Prefix |
Delimiter | String | / | Karakter yang digunakan untuk mengelompokkan nama objek. Semua nama objek yang mengandung awalan yang ditentukan dan muncul sebelum kemunculan pertama delimiter dikelompokkan sebagai elemen CommonPrefixes. Node induk: ListBucketResult |
EncodingType | String | N/A | Jenis encoding yang digunakan dalam respons. Jika `encoding-type` ditentukan dalam permintaan, elemen `Delimiter`, `StartAfter`, `Prefix`, `NextContinuationToken`, dan `Key` dalam respons akan di-encode. Node induk: ListBucketResult |
DisplayName | String | user_example | Nama tampilan pemilik objek. Node induk: ListBucketResult.Contents.Owner |
ETag | String | 5B3C1A2E053D763E1B002CC607C5A0FE1**** | ETag dibuat saat objek dihasilkan dan secara unik mengidentifikasi konten objek tersebut. Node induk: ListBucketResult.Contents
|
ID | String | 0022012**** | ID pengguna pemilik bucket. Node induk: ListBucketResult.Contents.Owner |
IsTruncated | Enumerated string | false | Menunjukkan apakah hasil yang dikembalikan terpotong. Nilai kembali: true, false
Node induk: ListBucketResult |
Key | String | fun/test.jpg | Nama kunci objek. Node induk: ListBucketResult.Contents |
LastModified | Time | 2012-02-24T08:42:32.000Z | Waktu terakhir objek dimodifikasi. Node induk: ListBucketResult.Contents |
ListBucketResult | Container | N/A | Wadah untuk hasil permintaan GetBucket. Node anak: Name, Prefix, StartAfter, MaxKeys, Delimiter, IsTruncated, NextContinuationToken, Contents Node induk: None |
StartAfter | String | test1.txt | Jika permintaan menentukan parameter StartAfter, respons menyertakan elemen StartAfter. |
MaxKeys | Number | 100 | Jumlah maksimum hasil yang dikembalikan dalam respons. Node induk: ListBucketResult |
Name | String | examplebucket | Nama bucket. Node induk: ListBucketResult |
Owner | Container | N/A | Wadah untuk informasi pemilik bucket. Node anak: DisplayName, ID Node induk: ListBucketResult.Contents |
Prefix | String | fun/ | Awalan hasil kueri. Node induk: ListBucketResult |
Type | String | Normal | Jenis file Nilai valid: Normal, Multipart, Appendable, dan Symlink. Node induk: ListBucketResult.Contents |
Size | Number | 344606 | Ukuran objek dalam byte. Node induk: ListBucketResult.Contents |
StorageClass | String | Standard | Kelas penyimpanan objek. Node induk: ListBucketResult.Contents |
SealedTime | Time | 2020-05-21T12:07:15.000Z | Waktu operasi Seal dilakukan pada objek. Bidang ini dikembalikan saat Anda mengakses Appendable Object yang berada dalam keadaan Sealed. Node induk: ListBucketResult.Contents |
ContinuationToken | String | test1.txt | Jika permintaan menentukan parameter ContinuationToken, respons menyertakan elemen ContinuationToken. Node induk: ListBucketResult |
KeyCount | Number | 6 | Jumlah kunci yang dikembalikan dalam permintaan ini. Jika parameter Delimiter ditentukan, KeyCount adalah jumlah total elemen Key dan CommonPrefixes. Node induk: ListBucketResult |
NextContinuationToken | String | CgJiYw-- | Menunjukkan bahwa permintaan ListObjectsV2 (GetBucketV2) masih memiliki hasil tambahan. Untuk mendapatkan set hasil berikutnya, tentukan nilai NextContinuationToken sebagai ContinuationToken untuk permintaan berikutnya. Node induk: ListBucketResult |
RestoreInfo | String | ongoing-request="true" | Keadaan dipulihkan objek.
Node induk: ListBucketResult.Contents |
Contoh
Permintaan sederhana
Contoh permintaan
GET /?list-type=2 HTTP/1.1 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Date: Thu, 17 Apr 2025 08:43:27 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eContoh respons
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Thu, 17 Apr 2025 08:43:27 GMT Content-Type: application/xml Content-Length: 1866 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”> <Name>examplebucket</Name> <Prefix></Prefix> <MaxKeys>100</MaxKeys> <EncodingType>url</EncodingType> <IsTruncated>false</IsTruncated> <Contents> <Key>a</Key> <LastModified>2020-05-18T05:45:43.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>a/b</Key> <LastModified>2020-05-18T05:45:47.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>b</Key> <LastModified>2020-05-18T05:45:50.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>b/c</Key> <LastModified>2020-05-18T05:45:54.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>bc</Key> <LastModified>2020-05-18T05:45:59.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>c</Key> <LastModified>2020-05-18T05:45:57.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <KeyCount>6</KeyCount> </ListBucketResult>
Permintaan dengan parameter prefix
Contoh permintaan
GET /?list-type=2&prefix=a HTTP/1.1 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Date: Thu, 17 Apr 2025 08:43:27 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eContoh respons
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Thu, 17 Apr 2025 08:43:27 GMT Content-Type: application/xml Content-Length: 1464 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”> <Name>examplebucket</Name> <Prefix>a</Prefix> <MaxKeys>100</MaxKeys> <EncodingType>url</EncodingType> <IsTruncated>false</IsTruncated> <Contents> <Key>a</Key> <LastModified>2020-05-18T05:45:43.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>a/b</Key> <LastModified>2020-05-18T05:45:47.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <KeyCount>2</KeyCount> </ListBucketResult>
Permintaan dengan parameter prefix dan delimiter
Contoh permintaan
GET /?list-type=2&prefix=a/&delimiter=/ HTTP/1.1 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Date: Thu, 17 Apr 2025 08:43:27 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eContoh respons
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Thu, 17 Apr 2025 08:43:27 GMT Content-Type: application/xml Content-Length: 712 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”> <Name>examplebucket</Name> <Prefix>a/</Prefix> <MaxKeys>100</MaxKeys> <Delimiter>/</Delimiter> <EncodingType>url</EncodingType> <IsTruncated>false</IsTruncated> <Contents> <Key>a/b</Key> <LastModified>2020-05-18T05:45:47.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <CommonPrefixes> <Prefix>a/b/</Prefix> </CommonPrefixes> <KeyCount>2</KeyCount> </ListBucketResult>
Permintaan dengan parameter start-after, max-keys, dan fetch-owner
Contoh permintaan
GET /?list-type=2&start-after=b&max-keys=3&fetch-owner=true HTTP/1.1 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Date: Thu, 17 Apr 2025 08:43:27 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eContoh respons
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Thu, 17 Apr 2025 08:43:27 GMT Content-Type: application/xml Content-Length: 712 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”> <Name>examplebucket</Name> <Prefix></Prefix> <StartAfter>b</StartAfter> <MaxKeys>3</MaxKeys> <EncodingType>url</EncodingType> <IsTruncated>true</IsTruncated> <NextContinuationToken>CgJiYw--</NextContinuationToken> <Contents> <Key>b/c</Key> <LastModified>2020-05-18T05:45:54.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1686240967192623</ID> <DisplayName>1686240967192623</DisplayName> </Owner> </Contents> <Contents> <Key>ba</Key> <LastModified>2020-05-18T11:17:58.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1686240967192623</ID> <DisplayName>1686240967192623</DisplayName> </Owner> </Contents> <Contents> <Key>bc</Key> <LastModified>2020-05-18T05:45:59.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1686240967192623</ID> <DisplayName>1686240967192623</DisplayName> </Owner> </Contents> <KeyCount>3</KeyCount> </ListBucketResult>
Permintaan untuk bucket yang berisi objek Archive atau Cold Archive
Contoh permintaan
GET /?list-type=2 HTTP/1.1 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Date: Thu, 17 Apr 2025 08:43:27 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eContoh respons
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Thu, 17 Apr 2025 08:43:27 GMT Content-Type: application/xml Content-Length: 1866 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com"> <Name>examplebucket</Name> <Prefix></Prefix> <MaxKeys>100</MaxKeys> <EncodingType>url</EncodingType> <IsTruncated>false</IsTruncated> <Contents> <Key>exampleobject1.txt</Key> <LastModified>2020-06-22T11:42:32.000Z</LastModified> <ETag>"5B3C1A2E053D763E1B002CC607C5A0FE1****"</ETag> <Type>Normal</Type> <Size>344606</Size> <StorageClass>ColdArchive</StorageClass> <Owner> <ID>0022012****</ID> <DisplayName>user-example</DisplayName> </Owner> </Contents> <Contents> <Key>exampleobject2.txt</Key> <LastModified>2020-06-22T11:42:32.000Z</LastModified> <ETag>"5B3C1A2E053D763E1B002CC607C5A0FE1****"</ETag> <Type>Normal</Type> <Size>344606</Size> <StorageClass>Standard</StorageClass> <RestoreInfo>ongoing-request="true"</RestoreInfo> <Owner> <ID>0022012****</ID> <DisplayName>user-example</DisplayName> </Owner> </Contents> <Contents> <Key>exampleobject3.txt</Key> <LastModified>2020-06-22T11:42:32.000Z</LastModified> <ETag>"5B3C1A2E053D763E1B002CC607C5A0FE1****"</ETag> <Type>Normal</Type> <Size>344606</Size> <StorageClass>Standard</StorageClass> <RestoreInfo>ongoing-request="false", expiry-date="Thu, 24 Sep 2020 12:40:33 GMT"</RestoreInfo> <Owner> <ID>0022012****</ID> <DisplayName>user-example</DisplayName> </Owner> </Contents> </ListBucketResult>Berikut penjelasan mengenai status file:
Untuk exampleobject1.txt, permintaan RestoreObject belum diajukan atau telah kedaluwarsa.
Untuk exampleobject2.txt, permintaan RestoreObject telah diajukan, tetapi proses restore belum selesai.
Untuk exampleobject3.txt, permintaan RestoreObject telah diajukan, dan proses restore telah selesai.
Kode error
Error code | HTTP status code | Description |
NoSuchBucket | 404 | Bucket yang ditentukan tidak ada. Periksa apakah nama bucket dalam permintaan sesuai dengan Konvensi penamaan. |
AccessDenied | 403 | Anda tidak memiliki izin untuk mengakses bucket tersebut. Hanya pemilik bucket dan pengguna yang diberikan izin |
InvalidArgument | 400 |
|