Mengatur kebijakan retensi objek, yang mencakup mode retensi dan tanggal retensi hingga (retain until date), untuk versi objek tertentu. Kebijakan retensi tingkat objek memiliki prioritas lebih tinggi daripada kebijakan retensi ObjectWorm default yang dikonfigurasi untuk bucket tersebut.
Catatan penggunaan
Fitur ini saat ini berada dalam pratinjau undangan. Untuk menggunakan fitur ini, hubungi technical support untuk mengajukan aktivasi. Fitur ini saat ini hanya didukung di wilayah China (Hangzhou), China (Chengdu), China (Shenzhen), China (Guangzhou), China (Qingdao), China (Beijing), China (Ulanqab), China (Heyuan), China (Hong Kong), Jerman (Frankfurt), Jepang (Tokyo), Korea Selatan (Seoul), Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Filipina (Manila), Thailand (Bangkok), Arab Saudi (Riyadh), dan UEA (Dubai).
Sebelum memanggil operasi ini, Anda harus mengaktifkan kebijakan retensi tingkat objek (ObjectWorm) untuk bucket dengan memanggil operasi PutBucketObjectWormConfiguration.
Untuk memanggil operasi ini, Anda harus memiliki izin
oss:PutObjectRetention.Dalam mode compliance, nilai
RetainUntilDatehanya dapat diperpanjang dan tidak dapat dipersingkat. Jika Anda menetapkan tanggal yang lebih awal dari tanggal retensi hingga saat ini, sistem akan mengembalikan error.Kebijakan retensi tingkat objek yang ditetapkan oleh operasi ini menggantikan kebijakan ObjectWorm default bucket.
Anda tidak dapat menetapkan kebijakan retensi objek pada objek yang dapat ditambahkan (appendable object).
Nilai
RetainUntilDateharus berada di masa depan.
Sintaksis permintaan
PUT /ObjectName?retention HTTP/1.1
Content-MD5: ContentMD5
Content-Length: ContentLength
Content-Type: application/xml
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValueParameter permintaan
Parameter | Tipe | Wajib | Contoh | Deskripsi |
retention | N/A | Ya | N/A | Menentukan bahwa operasi ini mengatur kebijakan retensi objek. |
versionId | String | Tidak | CAEQNhiBgMDJgZCA0BYiIDc4MGZj**** | ID versi objek. Jika Anda tidak menentukan parameter ini, operasi akan diterapkan pada versi terbaru objek. |
Header permintaan
Header | Tipe | Wajib | Contoh | Deskripsi |
Content-MD5 | String | Ya | B2M2Y8AsgTpgAmY7PhC**** | Hash MD5 dari badan permintaan. Header ini digunakan untuk verifikasi integritas data. |
Elemen badan permintaan
Elemen | Tipe | Wajib | Contoh | Deskripsi |
Retention | Kontainer | Ya | N/A | Kontainer untuk kebijakan retensi objek. Induk: Tidak ada Anak: Mode, RetainUntilDate |
Mode | String | Ya | COMPLIANCE | Mode retensi objek. Nilai yang valid:
Induk: Retention |
RetainUntilDate | String | Ya | 2026-10-11T00:00:00.000Z | Tanggal retensi hingga objek. Nilainya berupa tanggal dalam format ISO 8601. Sebelum tanggal ini, versi objek tidak dapat dihapus atau ditimpa. Tanggal yang ditentukan harus berada di masa depan. Dalam mode compliance, tanggal ini hanya dapat diperpanjang dan tidak dapat dipersingkat. Induk: Retensi |
Header respons
Header | Contoh | Deskripsi |
x-oss-version-id | CAEQNhiBgMDJgZCA0BYiIDc4MGZj**** | ID versi objek yang dikenai kebijakan retensi. |
Contoh
Contoh 1: Menetapkan kebijakan retensi dalam mode compliance
Permintaan contoh
PUT /exampleobject?retention&versionId=CAEQNhiBgMDJgZCA0BYiIDc4MGZj**** HTTP/1.1 Date: Thu, 17 Mar 2026 11:18:32 GMT Content-MD5: B2M2Y8AsgTpgAmY7PhC**** Content-Type: application/xml Content-Length: 162 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20260317/cn-hangzhou/oss/aliyun_v4_request,Signature=**** <Retention> <Mode>COMPLIANCE</Mode> <RetainUntilDate>2026-10-11T00:00:00.000Z</RetainUntilDate> </Retention>Respons contoh
HTTP/1.1 200 OK x-oss-request-id: 5374A2880232A65C2300**** x-oss-version-id: CAEQNhiBgMDJgZCA0BYiIDc4MGZj**** Date: Thu, 17 Mar 2026 11:18:32 GMT Content-Length: 0 Server: AliyunOSS
Contoh 2: Memperpanjang tanggal retensi hingga
Contoh berikut memperpanjang tanggal retensi hingga objek menjadi 11 Maret 2027. Dalam mode compliance, tanggal retensi hingga hanya dapat diperpanjang dan tidak dapat dipersingkat.
Permintaan contoh
PUT /exampleobject?retention&versionId=CAEQNhiBgMDJgZCA0BYiIDc4MGZj**** HTTP/1.1 Date: Thu, 17 Mar 2026 11:18:32 GMT Content-MD5: D3N3Z9CtiVqhCnZ9RjE**** Content-Type: application/xml Content-Length: 162 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20260317/cn-hangzhou/oss/aliyun_v4_request,Signature=**** <Retention> <Mode>COMPLIANCE</Mode> <RetainUntilDate>2027-03-11T00:00:00.000Z</RetainUntilDate> </Retention>Respons contoh
HTTP/1.1 200 OK x-oss-request-id: 6485B3990232A65C3400**** x-oss-version-id: CAEQNhiBgMDJgZCA0BYiIDc4MGZj**** Date: Thu, 17 Mar 2026 11:20:15 GMT Content-Length: 0 Server: AliyunOSS
Kode error
Kode error | Kode status HTTP | Deskripsi |
InvalidRequest | 400 | ObjectWorm tidak diaktifkan untuk bucket. Anda tidak dapat menetapkan kebijakan retensi objek. |
AccessDenied | 403 | Anda tidak dapat mempersingkat tanggal retensi hingga dalam mode compliance. |