Anda dapat membuat aturan siklus hidup berdasarkan waktu modifikasi terakhir atau waktu akses terakhir. Aturan ini secara berkala mengonversi kelas penyimpanan objek dalam bucket atau menghapus objek dan bagian yang telah kedaluwarsa untuk menghemat biaya penyimpanan. Topik ini menjelaskan cara memanggil operasi PutBucketLifecycle untuk mengonfigurasi aturan siklus hidup pada bucket.
Catatan
Operasi PutBucketLifecycle akan menimpa aturan siklus hidup yang sudah ada. Misalnya, jika sebuah bucket memiliki aturan siklus hidup bernama Rule1 dan Anda ingin menambahkan aturan siklus hidup bernama Rule2, lakukan langkah-langkah berikut:
Panggil operasi GetBucketLifecycle untuk mengambil konfigurasi Rule1.
Anda dapat menerapkan Rule2 selain Rule1.
Panggil operasi PutBucketLifecycle untuk menerapkan konfigurasi baru yang mencakup Rule1 dan Rule2.
Anda dapat menetapkan waktu kedaluwarsa untuk objek dan bagian. Bagian (parts) adalah fragmen yang belum dikomit dari unggah multi-bagian (multipart uploads).
Anda dapat mencocokkan aturan berdasarkan waktu akses terakhir atau waktu modifikasi terakhir.
Izin
Secara default, Akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah Akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui kebijakan RAM atau Kebijakan Bucket (Bucket Policy).
|
API |
Action |
Deskripsi |
|
PutBucketLifecycle |
oss:PutBucketLifecycle |
Mengonfigurasi aturan siklus hidup untuk bucket. |
Sintaksis permintaan
PUT /?lifecycle HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue
Host: BucketName.oss.aliyuncs.com
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>RuleID</ID>
<Prefix>Prefix</Prefix>
<Status>Status</Status>
<Expiration>
<Days>Days</Days>
</Expiration>
<Transition>
<Days>Days</Days>
<StorageClass>StorageClass</StorageClass>
</Transition>
<AbortMultipartUpload>
<Days>Days</Days>
</AbortMultipartUpload>
</Rule>
</LifecycleConfiguration>Header permintaan
Nama | Tipe | Wajib | Contoh | Deskripsi |
x-oss-allow-same-action-overlap | string | Tidak | true | Menentukan apakah aturan siklus hidup diperbolehkan memiliki awalan (prefix) yang tumpang tindih. Nilai yang valid:
|
Operasi ini menggunakan header permintaan umum, seperti Date dan Authorization. Untuk informasi lebih lanjut, lihat Header permintaan umum.
Elemen permintaan
Nama | Type | Wajib | Contoh | Deskripsi |
LifecycleConfiguration | container | Ya | N/A | Kontainer untuk konfigurasi siklus hidup. Anda dapat mengonfigurasi hingga 1.000 aturan. Node anak: Rule Node induk: None |
Rule | container | Ya | N/A | Kontainer untuk aturan siklus hidup. Waktu kedaluwarsa objek harus lebih lambat daripada waktu saat objek dikonversi ke kelas penyimpanan Infrequent Access (IA) atau Archive Storage. Node anak: ID, Prefix, Status, dan Expiration Node induk: LifecycleConfiguration |
ID | string | Tidak | rule1 | ID unik aturan. ID dapat memiliki panjang hingga 255 karakter. Jika Anda tidak menentukan elemen ini atau membiarkannya kosong, OSS secara otomatis menghasilkan ID unik. Node anak: None Node induk: Rule |
Prefix | string | Tidak | tmp/ | Awalan yang menentukan objek yang dikenai aturan. Anda tidak dapat menetapkan awalan yang sama untuk aturan yang berbeda.
Node anak: None Node induk: Rule |
Status | string | Ya | Enabled | Menentukan apakah aturan diaktifkan. Nilai yang valid:
Node induk: Rule |
Expiration | container | Tidak | N/A | Menentukan properti kedaluwarsa objek. Untuk bucket dengan Pengendalian versi (versioning) diaktifkan, waktu kedaluwarsa yang ditentukan hanya berlaku untuk versi terkini objek. Waktu kedaluwarsa objek harus lebih lambat daripada waktu saat objek dikonversi ke kelas penyimpanan IA atau Archive Storage. Node anak: Days, CreatedBeforeDate, atau ExpiredObjectDeleteMarker Node induk: Rule |
Days | Bilangan bulat positif | Days dan CreatedBeforeDate saling eksklusif | 1 | Menentukan jumlah hari setelah pembaruan terakhir objek ketika aturan siklus hidup mulai berlaku. Jika parameter IsAccessTime diatur ke true dalam permintaan, parameter ini menentukan jumlah hari setelah akses terakhir objek ketika aturan siklus hidup mulai berlaku. Node induk: Expiration atau AbortMultipartUpload |
CreatedBeforeDate | string | CreatedBeforeDate dan Days saling eksklusif | 2002-10-11T00:00:00.000Z | Menentukan tanggal. OSS menerapkan aturan siklus hidup pada data yang terakhir diperbarui sebelum tanggal ini. Tanggal harus dalam format yyyy-MM-ddT00:00:00.000Z. Tanggal harus dalam UTC dan sesuai dengan standar ISO 8601. Waktu harus 00:00:00. Node induk: Expiration atau AbortMultipartUpload |
ExpiredObjectDeleteMarker | string | Tidak | true | Menentukan apakah penanda hapus (delete markers) yang kedaluwarsa dihapus secara otomatis. Nilai yang valid:
Node induk: Expiration |
Transition | container | Tidak | N/A | Menentukan kapan OSS mengonversi kelas penyimpanan objek selama masa berlaku siklus hidupnya. Anda dapat mengonversi objek Standard dalam bucket Standard ke kelas penyimpanan IA, Archive, atau Cold Archive. Namun, waktu untuk mengonversi ke Archive harus lebih lambat daripada waktu untuk mengonversi ke IA. Misalnya, jika Anda menetapkan Days ke 30 untuk transisi ke IA, Anda harus menetapkan Days ke nilai lebih besar dari 30 untuk transisi ke Archive. Node induk: Rule Node anak: Days, CreatedBeforeDate, dan StorageClass Penting Penting Anda dapat menentukan salah satu dari Days atau CreatedBeforeDate. |
StorageClass | string | Wajib jika node induknya adalah Transition atau NoncurrentVersionTransition | IA | Menentukan kelas penyimpanan tujuan konversi objek. Nilai yang valid:
Penting Anda dapat mengonversi kelas penyimpanan objek dalam bucket IA ke Archive Storage atau Cold Archive, tetapi tidak ke Standard. Node induk: Transition |
AbortMultipartUpload | container | Tidak | N/A | Menentukan properti kedaluwarsa untuk bagian yang tidak dikomit dalam unggah multi-bagian. Node anak: Days atau CreatedBeforeDate Node induk: Rule |
Tag | container | Tidak | N/A | Tag objek yang dikenai aturan. Anda dapat menentukan beberapa tag. Node induk: Rule Node anak: Key dan Value |
Key | string | Wajib jika node induknya adalah Tag | TagKey1 | Kunci tag objek. Node induk: Tag |
Value | string | Wajib jika node induknya adalah Tag | TagValue1 | Nilai tag objek. Node induk: Tag |
NoncurrentVersionExpiration | container | Tidak | N/A | Menentukan properti kedaluwarsa untuk versi sebelumnya objek. Node anak: NoncurrentDays |
NoncurrentVersionTransition | container | Tidak | N/A | Menentukan kapan OSS mengonversi kelas penyimpanan versi sebelumnya objek ke IA atau Archive Storage. Waktu untuk mengonversi objek Standard ke Archive harus lebih lambat daripada waktu untuk mengonversinya ke IA. Node anak: NoncurrentDays dan StorageClass |
NoncurrentDays | string | Wajib jika node induknya adalah NoncurrentVersionExpiration atau NoncurrentVersionTransition | 10 | Menentukan jumlah hari setelah objek menjadi versi sebelumnya ketika aturan siklus hidup mulai berlaku. Jika parameter IsAccessTime diatur ke true dalam permintaan, parameter ini menentukan jumlah hari setelah akses terakhir objek ketika aturan siklus hidup mulai berlaku. Node induk: NoncurrentVersionTransition dan NoncurrentVersionExpiration |
IsAccessTime | string | Tidak | true | Menentukan apakah aturan dicocokkan berdasarkan waktu akses terakhir. Nilai yang valid:
Node induk: Transition atau NoncurrentVersionTransition. |
ReturnToStdWhenVisit | string | Tidak | false | Menentukan apakah kelas penyimpanan objek non-Standard dikonversi kembali ke Standard ketika objek diakses lagi. Parameter ini hanya berlaku jika IsAccessTime diatur ke true. Nilai yang valid:
Node induk: Transition atau NoncurrentVersionTransition. |
AllowSmallFile | string | Tidak | false | Ketika Anda menetapkan aturan siklus hidup berdasarkan waktu akses terakhir, parameter ini menentukan apakah objek yang ukurannya kurang dari 64 KB dikonversi ke kelas penyimpanan IA, Archive, atau Cold Archive. Nilai yang valid:
Node induk: Transition atau NoncurrentVersionTransition. |
Filter | container | Tidak | N/A | Kontainer untuk parameter kondisi aturan pengecualian ini. Anda dapat menentukan paling banyak satu kontainer atau membiarkannya kosong. Node induk: Rule Node anak: Not |
Not | container | Tidak | N/A | Jika objek memenuhi kondisi ini, aturan dilewati. Jika Anda mengonfigurasi Filter, Anda harus menentukan satu dan hanya satu node Not di bawah Filter. Node induk: Filter Node anak: Prefix dan Tag |
Prefix | string | Ya | tmp/not/ | Awalan objek yang dikenai aturan pengecualian ini. Parameter ini tidak boleh kosong.
Node induk: Tidak ada Node anak: None |
Tag | container | Tidak | N/A | Tag objek yang dikenai aturan pengecualian ini. Anda dapat menentukan paling banyak satu tag atau membiarkan parameter ini kosong. |
ObjectSizeGreaterThan | Bilangan bulat positif | Tidak | 500 | Ukuran objek minimum yang dikenai aturan ini. Parameter ini opsional dan Anda dapat menentukan paling banyak satu. Jika Anda juga menetapkan ObjectSizeLessThan, sistem akan memeriksa hubungan ukuran antara keduanya. Parameter ini saling eksklusif dengan AllowSmallFile. Node induk: Filter Node anak: None |
ObjectSizeLessThan | Bilangan bulat positif | Tidak | 64000 | Ukuran objek maksimum yang dikenai aturan ini. Parameter ini opsional dan Anda dapat menentukan paling banyak satu. Jika Anda juga menetapkan ObjectSizeGreaterThan, sistem akan memeriksa hubungan ukuran antara keduanya. Parameter ini saling eksklusif dengan AllowSmallFile. Node induk: Filter Node anak: None |
Header respons
Respons hanya berisi header respons umum. Untuk informasi lebih lanjut, lihat Header respons umum.
Contoh
Contoh permintaan
Contoh 1: Mengonversi kelas penyimpanan objek berdasarkan waktu modifikasi terakhir
Contoh 2: Menghapus objek berdasarkan waktu modifikasi terakhir
Contoh 3: Mengonversi kelas penyimpanan objek dan menghapusnya berdasarkan waktu modifikasi terakhir
Contoh 4: Menghapus versi sebelumnya objek dan membersihkan penanda hapus berdasarkan waktu modifikasi terakhir
Contoh 5: Mengonversi kelas penyimpanan objek dan menghapusnya berdasarkan waktu modifikasi terakhir, mengecualikan objek dengan awalan dan tag tertentu
Contoh 6: Mengonversi kelas penyimpanan objek berdasarkan waktu akses terakhir
Contoh 7: Menghapus bagian berdasarkan waktu modifikasi terakhir
Contoh 8: Menghapus objek dengan awalan yang tumpang tindih berdasarkan waktu modifikasi terakhir
Contoh respons
HTTP/1.1 200 OK
x-oss-request-id: 7D3435J59A9812BAD56E
Date: Mon, 6 May 2019 15:23:20 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSSSDK
Anda dapat memanggil operasi ini menggunakan kit pengembangan perangkat lunak (SDK) untuk bahasa pemrograman berikut.
Alat baris perintah ossutil
Untuk informasi tentang perintah ossutil yang sesuai dengan operasi PutBucketLifecycle, lihat put-bucket-lifecycle.
Referensi
Untuk informasi lebih lanjut tentang aturan siklus hidup, lihat Ikhtisar aturan siklus hidup.
Kode error
Kode error | Kode status HTTP | Deskripsi |
InvalidArgument | 400 | Kemungkinan penyebab error ini:
|
AccessDenied | 403 | Anda tidak memiliki izin yang diperlukan. Hanya pengguna dengan izin |
MalforedXML | 400 | Error validasi XML dalam konfigurasi siklus hidup menghasilkan error MalformedXML. Misalnya, error ini terjadi jika Anda mengonfigurasi aturan siklus hidup berdasarkan waktu akses terakhir untuk bucket sebelum Anda mengaktifkan Pelacakan akses (access tracking) untuk bucket tersebut. |