全部产品
Search
文档中心

Object Storage Service:PutBucketLifecycle

更新时间:Jul 02, 2025

Membuat aturan siklus hidup berdasarkan waktu modifikasi terakhir atau waktu akses terakhir file untuk secara berkala mengubah kelas penyimpanan beberapa file dalam bucket ke nilai tertentu atau secara berkala menghapus objek dan bagian yang kedaluwarsa. Ini mengurangi biaya penyimpanan. Topik ini menjelaskan cara memanggil operasi PutBucketLifecycle untuk mengonfigurasi aturan siklus hidup pada sebuah bucket.

Catatan

  • Operasi PutBucketLifecycle menimpa konfigurasi yang ada dari aturan siklus hidup yang dikonfigurasi untuk sebuah bucket. Sebagai contoh, jika aturan siklus hidup bernama Rule1 telah dikonfigurasikan untuk sebuah bucket dan Anda ingin menambahkan aturan siklus hidup bernama Rule2 berdasarkan Rule1, ikuti langkah-langkah berikut:

    1. Panggil operasi GetBucketLifecycle untuk menanyakan konfigurasi Rule1.

    2. Konfigurasikan Rule2 untuk bucket berdasarkan Rule1.

    3. Panggil operasi PutBucketLifecycle untuk memperbarui konfigurasi aturan siklus hidup bucket. Rule1 dan Rule2 akan diterapkan pada bucket tersebut.

  • Anda dapat menggunakan aturan siklus hidup untuk menentukan waktu kedaluwarsa objek dan bagian yang diunggah dalam tugas pengunggahan multipart yang tidak lengkap.

  • Anda dapat mengonfigurasi aturan siklus hidup untuk objek berdasarkan waktu akses terakhir atau waktu modifikasi terakhir mereka.

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.

API

Aksi

Definisi

PutBucketLifecycle

oss:PutBucketLifecycle

Mengonfigurasi aturan siklus hidup untuk sebuah bucket.

Sintaks 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

Header

Tipe

Wajib

Contoh

Deskripsi

x-oss-allow-same-action-overlap

String

Tidak

true

Menentukan apakah awalan yang tumpang tindih diperbolehkan. Nilai valid:

  • true: Awalan yang tumpang tindih diperbolehkan.

  • false: Awalan yang tumpang tindih tidak diperbolehkan.

Permintaan ini mencakup header permintaan umum lainnya, seperti Date dan Authorization. Untuk informasi lebih lanjut, lihat bagian "Header Permintaan Umum" dari topik Header HTTP Umum.

Elemen permintaan

Elemen

Tipe

Diperlukan

Contoh

Deskripsi

LifecycleConfiguration

Container

Ya

N/A

Wadah yang menyimpan konfigurasi siklus hidup. Wadah dapat menyimpan hingga 1.000 konfigurasi aturan siklus hidup.

Node anak: Rule

Node induk: none

Rule

Container

Ya

N/A

Wadah yang menyimpan aturan siklus hidup. Jangka waktu dari saat objek kedaluwarsa hingga objek dihapus harus lebih lama daripada jangka waktu dari saat objek kedaluwarsa hingga kelas penyimpanan objek diubah menjadi Infrequent Access (IA) atau Arsip.

Node anak: ID, Prefix, Status, dan Expiration

Node induk: LifecycleConfiguration

ID

String

Tidak

rule1

ID aturan siklus hidup. ID dapat mencapai panjang maksimum 255 karakter. Jika Anda tidak menentukan elemen ini atau meninggalkannya kosong, OSS akan secara otomatis menghasilkan ID unik untuk aturan siklus hidup.

Node anak: none

Node induk: Rule

Prefix

String

Tidak

tmp/

Awalan dalam nama objek yang berlaku untuk aturan. Awalan yang ditentukan oleh aturan berbeda tidak boleh tumpang tindih.

  • Jika Anda menentukan elemen Prefix, aturan hanya berlaku untuk objek yang namanya mengandung awalan yang ditentukan dalam bucket.

  • Jika Anda tidak menentukan elemen Prefix, aturan ini berlaku untuk semua objek dalam bucket.

Node anak: none

Node induk: Rule

Status

String

Ya

Enabled

Menentukan apakah akan mengaktifkan aturan. Nilai valid:

  • Enabled: Mengaktifkan aturan. OSS secara berkala mengeksekusi aturan.

  • Disabled: Tidak mengaktifkan aturan. OSS mengabaikan aturan.

Node induk: Rule

Expiration

Container

Tidak

N/A

Operasi penghapusan yang Anda inginkan OSS lakukan pada objek yang sesuai dengan aturan siklus hidup ketika objek kedaluwarsa. Untuk objek dalam bucket yang memiliki versi, operasi penghapusan yang ditentukan oleh elemen ini hanya dilakukan pada versi saat ini dari objek.

Jangka waktu dari saat objek kedaluwarsa hingga objek dihapus harus lebih lama daripada jangka waktu dari saat objek kedaluwarsa hingga kelas penyimpanan objek diubah menjadi IA atau Arsip.

Node anak: Days, CreatedBeforeDate, atau ExpiredObjectDeleteMarker

Node induk: Rule

Days

Bilangan bulat positif

Days atau CreatedBeforeDate diperlukan

1

Jumlah hari dari saat objek terakhir dimodifikasi hingga aturan siklus hidup mulai berlaku.

Jika elemen IsAccessTime disetel ke true, nilai elemen Days menentukan bahwa aturan siklus hidup mulai berlaku berdasarkan jumlah hari yang ditentukan setelah objek terakhir diakses.

Node induk: Expiration atau AbortMultipartUpload

CreatedBeforeDate

String

Days atau CreatedBeforeDate diperlukan

2002-10-11T00:00:00.000Z

Tanggal berdasarkan mana aturan siklus hidup mulai berlaku. OSS melakukan operasi yang ditentukan pada data yang tanggal modifikasi terakhirnya lebih awal dari tanggal ini. Nilai elemen ini dalam format yyyy-MM-ddT00:00:00.000Z.

Tentukan waktu dalam standar ISO 8601. Waktu harus 00:00:00 dalam UTC.

Node induk: Expiration atau AbortMultipartUpload

ExpiredObjectDeleteMarker

String

Tidak

true

Menentukan apakah akan secara otomatis menghapus penanda hapus yang kedaluwarsa. Nilai valid:

  • true: Penanda hapus yang kedaluwarsa dihapus secara otomatis. Jika Anda menyetel elemen ini ke true, Anda tidak dapat menentukan elemen Days atau CreatedBeforeDate.

  • false: Penanda hapus yang kedaluwarsa tidak dihapus secara otomatis. Jika Anda menyetel elemen ini ke false, Anda harus menentukan elemen Days atau CreatedBeforeDate.

Node induk: Expiration

Transition

Container

Tidak

N/A

Perubahan kelas penyimpanan objek yang sesuai dengan aturan siklus hidup ketika objek kedaluwarsa.

Kelas penyimpanan objek Standar dapat diubah menjadi IA, Arsip, atau Penyimpanan Arsip Dingin. Jangka waktu dari saat objek kedaluwarsa hingga kelas penyimpanan objek diubah menjadi Arsip harus lebih lama daripada jangka waktu dari saat objek kedaluwarsa hingga kelas penyimpanan objek diubah menjadi IA. Sebagai contoh, jika periode validitas diatur menjadi 30 untuk objek yang kelas penyimpanannya diubah menjadi IA setelah periode validitas, periode validitas harus diatur menjadi nilai lebih besar dari 30 untuk objek yang kelas penyimpanannya diubah menjadi Arsip.

Node induk: Rule

Node anak: Days, CreatedBeforeDate, dan StorageClass

Penting
Penting

Days atau CreatedBeforeDate diperlukan.

StorageClass

String

Ya jika Transition atau NoncurrentVersionTransition ditentukan

IA

Kelas penyimpanan ke mana objek diubah. Nilai valid:

  • IA

  • Arsip

  • Penyimpanan Arsip Dingin

  • DeepColdArchive

Penting

Anda dapat mengubah kelas penyimpanan objek dalam bucket IA hanya ke Arsip atau Penyimpanan Arsip Dingin.

Node induk: Transition

AbortMultipartUpload

Container

Tidak

N/A

Operasi penghapusan yang Anda inginkan OSS lakukan pada bagian yang diunggah dalam tugas pengunggahan multipart yang tidak lengkap ketika bagian tersebut kedaluwarsa.

Node anak: Days atau CreatedBeforeDate

Node induk: Rule

Tag

Container

Tidak

N/A

Tag objek yang berlaku untuk aturan siklus hidup. Anda dapat menentukan beberapa tag.

Node induk: Rule

Node anak: Key dan Value

Key

String

Ya jika elemen Tag ditentukan

TagKey1

Kunci tag yang ditentukan untuk objek.

Node induk: Tag

Value

String

Ya jika elemen Tag ditentukan

TagValue1

Nilai tag yang ditentukan untuk objek.

Node induk: Tag

NoncurrentVersionExpiration

Container

Tidak

N/A

Operasi penghapusan yang Anda inginkan OSS lakukan pada versi sebelumnya dari objek yang sesuai dengan aturan siklus hidup ketika versi sebelumnya kedaluwarsa.

Node anak: NoncurrentDays

NoncurrentVersionTransition

Container

Tidak

N/A

Perubahan kelas penyimpanan versi sebelumnya dari objek yang sesuai dengan aturan siklus hidup ketika versi sebelumnya kedaluwarsa. Kelas penyimpanan versi sebelumnya dapat diubah menjadi IA atau Arsip.

Jangka waktu dari saat versi sebelumnya kedaluwarsa hingga kelas penyimpanan versi sebelumnya diubah menjadi Arsip harus lebih lama daripada jangka waktu dari saat versi sebelumnya kedaluwarsa hingga kelas penyimpanan versi sebelumnya diubah menjadi IA.

Node anak: NoncurrentDays dan StorageClass

NoncurrentDays

String

Ya jika NoncurrentVersionExpiration atau NoncurrentVersionTransition ditentukan

10

Jumlah hari dari saat objek menjadi versi sebelumnya hingga aturan siklus hidup mulai berlaku.

Jika elemen IsAccessTime disetel ke true, elemen NoncurrentDays mulai berlaku berdasarkan jumlah hari yang ditentukan setelah objek terakhir diakses.

Node induk: NoncurrentVersionTransition dan NoncurrentVersionExpiration

IsAccessTime

String

Tidak

true

Menentukan apakah aturan siklus hidup berlaku untuk objek berdasarkan waktu akses terakhir mereka. Nilai valid:

  • true: Aturan berlaku untuk objek berdasarkan waktu akses terakhir mereka.

  • false (default): Aturan berlaku untuk objek berdasarkan waktu modifikasi terakhir mereka.

Node induk: Transition atau NoncurrentVersionTransition

ReturnToStdWhenVisit

String

Tidak

false

Menentukan apakah mengubah kelas penyimpanan objek non-Standar kembali ke Standar setelah objek diakses. Elemen ini hanya berlaku ketika elemen IsAccessTime disetel ke true. Nilai valid:

  • true: Mengubah kelas penyimpanan objek menjadi Standar.

  • false: Tidak mengubah kelas penyimpanan objek menjadi Standar.

Node induk: Transition atau NoncurrentVersionTransition

AllowSmallFile

String

Tidak

false

Menentukan apakah akan mengubah kelas penyimpanan objek yang ukurannya kurang dari 64 KB menjadi IA, Arsip, atau Penyimpanan Arsip Dingin berdasarkan waktu akses terakhir mereka. Nilai valid:

  • true: Mengubah kelas penyimpanan objek yang lebih kecil dari 64 KB menjadi IA, Arsip, atau Penyimpanan Arsip Dingin. Ukuran tagihan minimum untuk objek adalah 64 KB. Objek yang lebih kecil dari 64 KB akan dikenakan biaya sebagai 64 KB. Objek yang ukurannya lebih besar dari atau sama dengan 64 KB akan dikenakan biaya berdasarkan ukuran sebenarnya. Jika Anda menyetel elemen ini ke true, biaya penyimpanan mungkin meningkat.

  • false: Tidak mengubah kelas penyimpanan objek yang lebih kecil dari 64 KB.

Node induk: Transition atau NoncurrentVersionTransition

Filter

Container

Tidak

N/A

Wadah yang menyimpan elemen Not yang digunakan untuk memfilter objek. Anda dapat membiarkan elemen ini kosong atau hanya menentukan satu node Not tunggal.

Node induk: Rule

Node anak: Not

Not

Container

Tidak

N/A

Kondisi yang sesuai dengan objek yang tidak berlaku aturan siklus hidup. Jika Anda menentukan nilai untuk elemen Filter, Anda harus menentukan hanya satu node Not tunggal.

Node induk: Filter

Node anak: Prefix dan Tag

Prefix

String

Ya

tmp/not/

Awalan dalam nama objek yang tidak berlaku aturan siklus hidup. Anda tidak dapat membiarkan elemen ini kosong.

  • Jika Anda menentukan nilai untuk elemen Prefix pada node Rule, nilai elemen Prefix yang ditentukan pada node Not harus diawali dengan nilai elemen Prefix yang ditentukan pada node Rule. Sebagai contoh, jika nilai elemen Prefix yang ditentukan pada node Rule adalah dir, nilai elemen Prefix yang ditentukan pada node Not harus diawali dengan dir. Contoh: dir1 dan dir2.

  • Jika tidak ada tag yang ditentukan pada node Not, nilai elemen Prefix yang ditentukan pada node Not harus berbeda dari nilai elemen Prefix yang ditentukan pada node Rule.

Node induk: Not

Node anak: none

Tag

Container

Tidak

N/A

Tag objek yang tidak berlaku aturan siklus hidup. Anda dapat menentukan hanya satu tag tunggal atau membiarkan elemen ini kosong.

ObjectSizeGreaterThan

Bilangan bulat positif

Tidak

500

Ukuran objek minimum yang berlaku untuk aturan ini. Anda dapat menentukan hanya satu nilai atau membiarkan elemen ini kosong. Jika kedua parameter ini dan parameter ObjectSizeLessThan disetel, sistem akan memverifikasi bahwa ukuran objek berada dalam rentang yang ditentukan - lebih besar dari ukuran minimum dan lebih kecil dari ukuran maksimum.

Parameter ini dan parameter AllowSmallFile saling eksklusif.

Node induk: Filter

Node anak: none

ObjectSizeLessThan

Bilangan bulat positif

Tidak

64000

Ukuran objek minimum yang berlaku untuk aturan ini. Anda dapat menentukan hanya satu nilai atau membiarkan elemen ini kosong. Jika kedua parameter ini dan parameter ObjectSizeGreaterThan disetel, sistem akan memverifikasi bahwa ukuran objek berada dalam rentang yang ditentukan - lebih besar dari ukuran minimum dan lebih kecil dari ukuran maksimum.

Parameter ini dan parameter AllowSmallFile saling eksklusif.

Node induk: Filter

Node anak: none

Header respons

Semua header dalam respons terhadap permintaan DescribeRegions adalah header respons umum. Untuk informasi lebih lanjut, lihat Header Respons Umum.

Contoh

Permintaan sampel

Contoh 1: Mengonfigurasi aturan siklus hidup berdasarkan waktu modifikasi terakhir untuk hanya mengubah kelas penyimpanan objek

Kode berikut memberikan contoh cara mengonfigurasi aturan siklus hidup untuk hanya mengubah kelas penyimpanan objek yang namanya mengandung awalan log dalam bucket menjadi IA 30 hari setelah objek terakhir dimodifikasi:

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Mon, 6 May 2019 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>log/</Prefix>
    <Status>Enabled</Status>
    <Transition>
      <Days>30</Days>
      <StorageClass>IA</StorageClass>
    </Transition>    
  </Rule>
</LifecycleConfiguration>

Contoh 2: Mengonfigurasi aturan siklus hidup berdasarkan waktu modifikasi terakhir untuk hanya menghapus objek

Kode berikut memberikan contoh cara mengonfigurasi aturan siklus hidup untuk hanya menghapus objek yang namanya mengandung awalan log dalam bucket 90 hari setelah objek terakhir dimodifikasi:

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>log/</Prefix>
    <Status>Enabled</Status>
    <Expiration>
      <Days>90</Days>
    </Expiration>    
 </Rule>
</LifecycleConfiguration>

Contoh 3: Mengonfigurasi aturan siklus hidup berdasarkan waktu modifikasi terakhir untuk mengubah kelas penyimpanan objek dan menghapus objek

Kode berikut memberikan contoh cara mengonfigurasi aturan siklus hidup untuk mengubah kelas penyimpanan objek yang namanya mengandung awalan log dalam bucket menjadi IA 30 hari setelah objek terakhir dimodifikasi, mengubah kelas penyimpanan objek IA menjadi Arsip setelah 60 hari, dan menghapus objek Arsip setelah 3.600 hari:

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>log/</Prefix>
    <Status>Enabled</Status>
    <Transition>
      <Days>30</Days>
      <StorageClass>IA</StorageClass>
    </Transition>
    <Transition>
      <Days>60</Days>
      <StorageClass>Arsip</StorageClass>
    </Transition>
    <Expiration>
      <Days>3600</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

Contoh 4: Mengonfigurasi aturan siklus hidup berdasarkan waktu modifikasi terakhir untuk menghapus versi sebelumnya dari objek dan menghapus penanda hapus

Kode berikut memberikan contoh cara mengonfigurasi aturan siklus hidup untuk menghapus versi sebelumnya dari objek lima hari setelah mereka menjadi versi sebelumnya dan menghapus penanda hapus:

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix></Prefix>
    <Status>Enabled</Status>
    <Expiration>
      <ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker>
    </Expiration>
    <NoncurrentVersionExpiration>
      <NoncurrentDays>5</NoncurrentDays>
    </NoncurrentVersionExpiration>    
  </Rule>
</LifecycleConfiguration>

Contoh 5: Mengonfigurasi aturan siklus hidup berdasarkan waktu modifikasi terakhir untuk mengubah kelas penyimpanan objek dan menghapus objek, kecuali objek yang namanya mengandung awalan tertentu atau objek yang memiliki tag tertentu

Kode berikut memberikan contoh cara mengonfigurasi aturan siklus hidup berdasarkan waktu modifikasi terakhir. Aturan siklus hidup digunakan untuk mengubah kelas penyimpanan objek yang memenuhi kondisi berikut dalam bucket menjadi Arsip 30 hari setelah objek terakhir dimodifikasi dan menghapus objek setelah 100 hari: Nama objek tidak mengandung awalan log dan key adalah key1 dan value adalah value1. Elemen Not dalam node filter digunakan untuk menentukan awalan log, key1 key, dan value1 value.

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix></Prefix>
    <Status>Enabled</Status>
    <Filter>
      <Not>
        <Prefix>log</Prefix>
        <Tag><Key>key1</Key><Value>value1</Value></Tag>
      </Not>
    </Filter>    
    <Transition>
      <Days>30</Days>
      <StorageClass>Arsip</StorageClass>
    </Transition>
    <Expiration>
      <Days>100</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

Contoh 6: Mengonfigurasi aturan siklus hidup berdasarkan waktu akses terakhir untuk mengubah kelas penyimpanan objek

Kode berikut memberikan contoh cara mengonfigurasi aturan siklus hidup untuk mengubah objek yang namanya mengandung awalan log menjadi IA 30 hari setelah objek terakhir diakses. Kode berikut juga memberikan contoh cara mengubah kelas penyimpanan objek menjadi Standar ketika objek diakses kembali.

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>log/</Prefix>
    <Status>Enabled</Status>
    <Transition>
      <Days>30</Days>
      <StorageClass>IA</StorageClass>
      <IsAccessTime>true</IsAccessTime>
      <ReturnToStdWhenVisit>true</ReturnToStdWhenVisit>
    </Transition>
  </Rule>
</LifecycleConfiguration>

Contoh 7: Mengonfigurasi aturan siklus hidup berdasarkan waktu modifikasi terakhir untuk menghapus bagian

Kode berikut memberikan contoh cara mengonfigurasi aturan siklus hidup berdasarkan waktu modifikasi terakhir untuk menghapus bagian yang dihasilkan dalam bucket lebih awal dari 30 hari:

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>/</Prefix>
    <Status>Enabled</Status>    
    <AbortMultipartUpload>
      <Days>30</Days>
    </AbortMultipartUpload>
 </Rule>
</LifecycleConfiguration>

Contoh 8: Mengonfigurasi aturan siklus hidup berdasarkan waktu modifikasi terakhir untuk menghapus objek yang namanya mengandung awalan tumpang tindih

Kode berikut memberikan contoh cara mengonfigurasi aturan siklus hidup untuk menghapus objek dalam direktori dir1/ 180 hari setelah mereka terakhir dimodifikasi dan menghapus objek dalam subdirektori dir1/dir2/ 30 hari setelah mereka terakhir dimodifikasi:

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
x-oss-allow-same-action-overlap: true
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>Rule1</ID>
    <Prefix>dir1/</Prefix>
    <Status>Status</Status>
    <Expiration>
      <Days>180</Days>
    </Expiration>
  </Rule>
  <Rule>
    <ID>Rule2</ID>
    <Prefix>dir1/dir2/</Prefix>
    <Status>Status</Status>
    <Expiration>
      <Days>30</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>
Catatan

Jika header x-oss-allow-same-action-overlap disetel ke false, OSS mendeteksi bahwa objek dalam subdirektori dir1/dir2/ cocok dengan dua aturan penghapusan secara bersamaan. Dalam hal ini, OSS menolak kedua aturan penghapusan dan kesalahan Overlap for same action type Expiration dilaporkan.

Respons sampel

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: AliyunOSS

OSS SDK

Anda dapat menggunakan OSS SDK untuk bahasa pemrograman berikut untuk memanggil operasi PutBucketLifecycle:

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 Siklus Hidup.

Kode kesalahan

Kode kesalahan

Kode status HTTP

Deskripsi

InvalidArgument

400

Penyebab potensial:

  • Kelas penyimpanan objek dalam bucket Standar dapat diubah dari Standar menjadi IA atau Arsip. Anda dapat mengonfigurasi aturan siklus hidup untuk bucket Standar untuk mengubah kelas penyimpanan objek dalam bucket menjadi IA dan Arsip pada titik waktu yang berbeda. Titik waktu yang ditentukan saat kelas penyimpanan objek diubah menjadi Arsip harus lebih lambat daripada titik waktu yang ditentukan saat kelas penyimpanan objek diubah menjadi IA.

  • Jangka waktu dari saat objek kedaluwarsa hingga objek dihapus harus lebih lama daripada jangka waktu dari saat objek kedaluwarsa hingga kelas penyimpanan objek diubah menjadi IA atau Arsip.

AccessDenied

403

Anda tidak memiliki izin untuk melakukan operasi PutBucketLifecycle. Hanya pengguna yang memiliki izin oss:PutBucketLifecycle yang dapat mengonfigurasi aturan siklus hidup.

MalforedXML

400

Kode kesalahan MalformedXML dikembalikan pada validasi XML dari aturan siklus hidup. Sebagai contoh, jika Anda mengonfigurasi aturan siklus hidup untuk bucket berdasarkan waktu akses terakhir objek dalam bucket dan tidak mengaktifkan pelacakan akses untuk bucket tersebut, kesalahan ini terjadi.