全部产品
Search
文档中心

Object Storage Service:Elemen konfigurasi lifecycle

更新时间:Mar 26, 2026

Topik ini menjelaskan elemen-elemen konfigurasi dalam aturan siklus hidup objek.

Contoh XML aturan lifecycle

<LifecycleConfiguration>
<Rule>
 <ID>rule1</ID>
 <Prefix>logs/</Prefix>
 <Status>Enabled</Status>
 <Filter>
    <Not>
      <Prefix>logs1/</Prefix>
      <Tag><Key>key1</Key><Value>value1</Value></Tag>
    </Not>
 </Filter>
 <Expiration>
   <Days>10</Days>
  </Expiration>
</Rule>
<Rule>
 <ID>rule2</ID>
 <Prefix>doc/</Prefix>
 <Status>Disabled</Status>
 <Expiration>
   <CreatedBeforeDate>2017-12-31T00:00:00.000Z</CreatedBeforeDate>
 </Expiration>
</Rule>
<Rule>
 <ID>rule3</ID>
 <Prefix>logs2/</Prefix>
 <Tag><Key>xx</Key><Value>1</Value></Tag>
 <Status>Enabled</Status>
 <Transition>
   <Days>60</Days>
   <StorageClass>Archive</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>        

Contoh di atas berisi tiga aturan:

  • Aturan pertama menghapus objek dengan awalan logs/ yang terakhir dimodifikasi 10 hari lalu. Objek dengan awalan logs1/ dan tag key1:value1 tidak dihapus.

  • Aturan kedua dikonfigurasi untuk menghapus objek dengan awalan doc/ yang dimodifikasi sebelum 31 Desember 2017. Namun, aturan ini tidak diterapkan karena statusnya Disabled.

  • Aturan ketiga mengubah kelas penyimpanan objek dengan awalan logs2/ dan tag xx:1 menjadi Archive 60 hari setelah tanggal modifikasi terakhirnya.

Bagian-bagian berikut menjelaskan elemen konfigurasi dalam aturan lifecycle, seperti elemen ID dan Operation.

Elemen ID

ID aturan lifecycle untuk suatu bucket dapat mencapai panjang maksimum 255 byte. Jika elemen ID tidak ditentukan atau nilainya kosong, OSS secara otomatis menghasilkan ID unik.

Elemen Status

Elemen ini menunjukkan status aturan lifecycle. Anda dapat mengatur status menjadi Enabled atau Disabled. Jika status aturan adalah Disabled, OSS mengabaikan aksi yang telah ditentukan dalam aturan tersebut.

Elemen Prefix

Gunakan elemen <Prefix> untuk menerapkan aturan lifecycle ke semua atau sebagian objek dalam bucket berdasarkan awalan nama objek tersebut.

Elemen Filter

Elemen Filter menentukan kondisi untuk aturan lifecycle. Suatu objek hanya cocok dengan aturan jika memenuhi semua kondisi dalam elemen Filter.

Bukan elemen

Untuk mengecualikan objek tertentu dari aturan yang cocok dengan awalan dan tag tertentu, gunakan elemen Not. Di dalam Not, tentukan awalan dan tag objek yang ingin dikecualikan dari aksi aturan tersebut.

Catatan

Jika Anda mengonfigurasi beberapa aturan lifecycle untuk suatu bucket, elemen Not hanya berlaku untuk aturan tempat elemen tersebut didefinisikan.

Penting

Untuk mengecualikan beberapa subdirektori, jangan mengonfigurasi beberapa aturan di mana masing-masing menggunakan elemen Not untuk mengecualikan subdirektori yang berbeda. Elemen Not dalam aturan yang berbeda bersifat independen dan tidak saling memengaruhi. Misalnya, konfigurasi berikut bertujuan menghapus file dalam dir/ yang berusia lebih dari 30 hari sambil mempertahankan file dalam dir/p1/ dan dir/p2/. Namun, konfigurasi ini justru mengakibatkan penghapusan semua file:

<LifecycleConfiguration>
  <Rule>
    <ID>rule1</ID>
    <Prefix>dir/</Prefix>
    <Filter>
      <Not><Prefix>dir/p1/</Prefix></Not>
    </Filter>
    <Status>Enabled</Status>
    <Expiration><Days>30</Days></Expiration>
  </Rule>
  <Rule>
    <ID>rule2</ID>
    <Prefix>dir/</Prefix>
    <Filter>
      <Not><Prefix>dir/p2/</Prefix></Not>
    </Filter>
    <Status>Enabled</Status>
    <Expiration><Days>30</Days></Expiration>
  </Rule>
</LifecycleConfiguration>

rule2 cocok dengan objek dalam dir/p1/, yang hanya mengecualikan dir/p2/. rule1 cocok dengan objek dalam dir/p2/, yang hanya mengecualikan dir/p1/. Akibatnya, semua file di bawah dir/ dihapus. Untuk memperbaikinya, konfigurasikan beberapa elemen Not dalam satu aturan. Perlu diperhatikan bahwa Anda mungkin perlu mengajukan permohonan agar fitur ini diaktifkan. Berikut contohnya:

<LifecycleConfiguration>
  <Rule>
    <ID>rule1</ID>
    <Prefix>dir/</Prefix>
    <Filter>
      <Not><Prefix>dir/p1/</Prefix></Not>
      <Not><Prefix>dir/p2/</Prefix></Not>
    </Filter>
    <Status>Enabled</Status>
    <Expiration><Days>30</Days></Expiration>
  </Rule>
</LifecycleConfiguration>

Berikut contoh konfigurasinya:

  • Aturan rule1 menghapus objek dengan awalan dir1/ 30 hari setelah tanggal modifikasi terakhirnya.

  • Aturan rule2 dikonfigurasi untuk mengubah kelas penyimpanan objek dengan awalan dir1/ menjadi kelas penyimpanan Infrequent Access (IA) 20 hari setelah tanggal modifikasi terakhirnya, serta mengecualikan objek di bawah dir1/dir2/. Namun, aturan ini tidak aktif karena statusnya Disabled.

<LifecycleConfiguration> 
  <Rule> 
    <ID>rule1</ID>  
    <Prefix>dir1/</Prefix>  
    <Status>Enabled</Status>  
    <Expiration> 
      <Days>30</Days> 
    </Expiration> 
  </Rule>  
  <Rule> 
    <ID>rule2</ID>  
    <Prefix>dir1/</Prefix>  
    <Status>Disabled</Status>  
    <Filter> 
      <Not> 
        <Prefix>dir1/dir2/</Prefix> 
      </Not> 
    </Filter>  
    <Transition> 
      <Days>20</Days>  
      <StorageClass>IA</StorageClass> 
    </Transition> 
  </Rule> 
</LifecycleConfiguration>

Elemen Not hanya berlaku untuk rule2. Objek dengan awalan dir1/ tetap tunduk pada rule1, yang akan menghapusnya 30 hari setelah tanggal modifikasi terakhirnya.

Untuk informasi selengkapnya, lihat Aturan berdasarkan tanggal modifikasi terakhir.

Elemen waktu

  • Berdasarkan tanggal tertentu

    Gunakan elemen anak <CreatedBeforeDate> untuk menentukan tanggal tetap. Aksi Expiration atau Transition diterapkan pada objek yang tanggal modifikasi terakhirnya sebelum tanggal tersebut.

  • Berdasarkan jumlah hari

    Gunakan elemen anak <Days> untuk menentukan jumlah hari relatif. Aksi Expiration atau Transition diterapkan pada objek N hari setelah tanggal modifikasi terakhirnya.

Elemen operasi

Elemen operasi dalam aturan lifecycle menginstruksikan OSS untuk melakukan aksi tertentu pada objek. Efek dari aksi ini bergantung pada status versioning bucket. Bagian-bagian berikut merangkum perilaku aksi aturan lifecycle berdasarkan status versioning bucket.

  • Bucket dengan versioning dinonaktifkan

    Aksi

    Deskripsi

    Transition

    Mengubah kelas penyimpanan objek ke kelas tertentu setelah jumlah hari tertentu atau pada tanggal tertentu. Untuk informasi lebih lanjut tentang kelas penyimpanan yang didukung aturan lifecycle untuk transisi, lihat Mengonversi kelas penyimpanan objek secara otomatis menggunakan aturan lifecycle.

    Expiration

    Menghapus permanen objek yang sesuai setelah jumlah hari tertentu atau pada tanggal tertentu.

  • Bucket dengan versioning diaktifkan

    Berikut ini menjelaskan elemen terkait lifecycle untuk objek dalam bucket yang dikendalikan versi (bucket dengan versioning diaktifkan atau ditangguhkan):

    • Aksi expiration dan transition untuk versi saat ini

      Aksi

      Deskripsi

      Expiration

      Perilaku expiration bergantung pada apakah versi saat ini merupakan penanda hapus:

      • Jika versi saat ini bukan penanda hapus:

        • Jika versioning diaktifkan, OSS menyisipkan penanda hapus dengan ID versi unik sebagai versi saat ini. Versi saat ini asli menjadi versi noncurrent.

        • Jika versioning ditangguhkan, OSS menyisipkan penanda hapus dengan ID versi null sebagai versi saat ini. OSS menimpa versi yang ada dengan ID versi null untuk memastikan objek hanya memiliki satu versi dengan ID versi null.

      • Jika versi saat ini adalah penanda hapus:

        • Jika objek memiliki satu atau lebih versi noncurrent, OSS tidak melakukan apa pun saat aksi Expiration dipicu.

        • Jika itu satu-satunya versi objek, OSS secara otomatis menghapus penanda hapus jika aturan Expiration mencakup elemen ExpiredObjectDeleteMarker yang diatur ke true, atau jika aturan tersebut diatur untuk menghapus versi saat ini.

          Penting
          • Saat Anda mengonfigurasi aturan lifecycle untuk menghapus versi saat ini objek atau melakukan operasi penghapusan yang tidak spesifik versi, aksi tersebut mengubah versi saat ini menjadi versi noncurrent. Saat Anda mengonfigurasi aturan lifecycle untuk menghapus semua versi noncurrent objek atau melakukan operasi penghapusan spesifik versi, aksi tersebut menghapus permanen semua versi noncurrent. Jika hanya penanda hapus yang tersisa sebagai versi saat ini, hal ini disebut expired delete marker.

          • Elemen anak ExpiredObjectDeleteMarker tidak dapat dikonfigurasi bersamaan dengan aturan berbasis tag.

      Transition

      Mengubah kelas penyimpanan versi saat ini objek ke kelas tertentu ketika tanggal atau periode waktu tertentu dalam siklus hidup objek tercapai.

    • Aksi expiration dan transition untuk versi noncurrent

      Aksi

      Deskripsi

      Elemen terkait

      NoncurrentVersionExpiration

      Mengakhiri masa berlaku versi noncurrent objek.

      Elemen anak <NoncurrentDays> menentukan jumlah hari untuk menyimpan versi noncurrent sebelum OSS menghapusnya secara permanen. Periode dimulai sejak versi tersebut menjadi noncurrent.

      Catatan

      Sebagai contoh, suatu versi menjadi noncurrent pada 1 Mei 2019 akibat operasi PutObject yang menimpa. Jika <NoncurrentDays> dalam elemen NoncurrentVersionExpiration diatur ke 3, OSS menghapus permanen versi noncurrent ini pada 4 Mei 2019. Karena kontinuitas versi, setiap operasi upload menjadikan versi saat ini sebagai versi noncurrent pertama, dan versi yang baru ditambahkan menjadi penerusnya. OSS menentukan kapan suatu versi menjadi noncurrent dengan memeriksa waktu pembuatan penerusnya.

      NoncurrentVersionTransition

      Mengubah kelas penyimpanan versi noncurrent objek.

      • Elemen anak <NoncurrentDays> menentukan jumlah hari setelah suatu versi menjadi noncurrent sebelum kelas penyimpanannya diubah.

      • Elemen anak <StorageClass> menentukan kelas penyimpanan target untuk objek tersebut.