All Products
Search
Document Center

Object Storage Service:put-bucket-lifecycle

Last Updated:Apr 09, 2026

Anda dapat membuat aturan lifecycle berdasarkan waktu modifikasi terakhir atau waktu akses terakhir untuk secara berkala memindahkan objek dalam bucket ke kelas penyimpanan tertentu atau menghapus objek dan bagian yang telah kedaluwarsa guna menghemat biaya penyimpanan. Topik ini menjelaskan cara menggunakan perintah put-bucket-lifecycle untuk mengatur aturan lifecycle pada bucket.

Usage notes

  • Untuk mengonfigurasi aturan lifecycle pada bucket, Anda harus memiliki izin oss:PutBucketLifecycle. Untuk informasi lebih lanjut, lihat RAM Policy.

  • Jika tidak ada konfigurasi lifecycle yang ditetapkan untuk bucket tersebut, perintah ini akan membuat konfigurasi baru. Jika konfigurasi lifecycle sudah ada, perintah ini akan menimpanya.

  • Anda dapat menetapkan waktu kedaluwarsa untuk objek dan bagian. Bagian (parts) adalah fragmen yang belum dikomit dari unggah multi-bagian (multipart uploads).

Command syntax

ossutil api put-bucket-lifecycle --bucket value --lifecycle-configuration value [flags]

Parameter

Type

Description

--bucket

string

Nama bucket.

--lifecycle-configuration

string

Kontainer untuk aturan lifecycle. Konfigurasi dapat berisi hingga 1.000 aturan.

--allow-same-action-overlap

string

Menentukan apakah awalan yang tumpang tindih diperbolehkan. Nilai yang valid:

  • true: Mengizinkan awalan yang tumpang tindih.

  • false: Mencegah awalan yang tumpang tindih.

Catatan

Perintah put-bucket-lifecycle memanggil operasi API PutBucketLifecycle. Untuk detail parameter API, lihat PutBucketLifecycle.

--lifecycle-configuration

Opsi --lifecycle-configuration mendukung sintaks XML dan JSON:

  • Sintaks XML:

    <LifecycleConfiguration>
      <Rule>
        <NoncurrentVersionExpiration>
          <NoncurrentDays>integer</NoncurrentDays>
        </NoncurrentVersionExpiration>
        <NoncurrentVersionTransition>
          <NoncurrentDays>integer</NoncurrentDays>
          <StorageClass>string</StorageClass>
          <IsAccessTime>boolean</IsAccessTime>
          <ReturnToStdWhenVisit>boolean</ReturnToStdWhenVisit>
          <AllowSmallFile>boolean</AllowSmallFile>
        </NoncurrentVersionTransition>
        ...
        <ID>string</ID>
        <Prefix>string</Prefix>
        <Status>string</Status>
        <Expiration>
          <ExpiredObjectDeleteMarker>boolean</ExpiredObjectDeleteMarker>
          <CreatedBeforeDate>string</CreatedBeforeDate>
          <Days>integer</Days>
        </Expiration>
        <Transition>
          <IsAccessTime>boolean</IsAccessTime>
          <ReturnToStdWhenVisit>boolean</ReturnToStdWhenVisit>
          <AllowSmallFile>boolean</AllowSmallFile>
          <CreatedBeforeDate>string</CreatedBeforeDate>
          <Days>integer</Days>
          <StorageClass>string</StorageClass>
        </Transition>
        ...
        <AbortMultipartUpload>
          <CreatedBeforeDate>string</CreatedBeforeDate>
          <Days>integer</Days>
        </AbortMultipartUpload>
        <Tag>
          <Key>string</Key>
          <Value>string</Value>
        </Tag>
        ...
        <Filter>
          <Not>
            <Prefix>string</Prefix>
            <Tag>
              <Key>string</Key>
              <Value>string</Value>
            </Tag>
          </Not>
        </Filter>
      </Rule>
      ...
    </LifecycleConfiguration>
  • Sintaks JSON:

    {
      "Rule": [
        {
          "Tag": [
            {
              "Key": "string",
              "Value": "string"
            },
            ...
          ],
          "Filter": {
            "Not": {
              "Prefix": "string",
              "Tag": {
                "Key": "string",
                "Value": "string"
              }
            }
          },
          "Transition": [
            {
              "CreatedBeforeDate": "string",
              "Days": integer,
              "StorageClass": "string",
              "IsAccessTime": boolean,
              "ReturnToStdWhenVisit": boolean,
              "AllowSmallFile": boolean
            },
            ...
          ],
          "AbortMultipartUpload": {
            "CreatedBeforeDate": "string",
            "Days": integer
          },
          "NoncurrentVersionExpiration": {
            "NoncurrentDays": integer
          },
          "NoncurrentVersionTransition": [
            {
              "NoncurrentDays": integer,
              "StorageClass": "string",
              "IsAccessTime": boolean,
              "ReturnToStdWhenVisit": boolean,
              "AllowSmallFile": boolean
            },
            ...
          ],
          "ID": "string",
          "Prefix": "string",
          "Status": "string",
          "Expiration": {
            "CreatedBeforeDate": "string",
            "Days": integer,
            "ExpiredObjectDeleteMarker": boolean
          }
        },
        ...
      ]
    }
Catatan

Untuk informasi lebih lanjut, lihat Command-line options.

Examples

Tetapkan aturan lifecycle untuk bucket 'examplebucket'.

  • Gunakan file konfigurasi XML. Berikut adalah isi dari lifecycle-configuration.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <LifecycleConfiguration>
            <Rule>
                    <ID>rule1</ID>
                            <Prefix>tmp/</Prefix>
                            <Status>Enabled</Status>
                            <Expiration>
                                    <Days>10</Days>
                            </Expiration>
                            <Transition>
                                    <Days>5</Days>
                                    <StorageClass>IA</StorageClass>
                            </Transition>
                            <AbortMultipartUpload>
                            <Days>10</Days>
                    </AbortMultipartUpload>
            </Rule>
    </LifecycleConfiguration>

    Contoh perintah:

    ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration file://lifecycle-configuration.xml
  • Gunakan file konfigurasi JSON. Berikut adalah isi dari lifecycle-configuration.json:

    {
            "Rule": {
                    "ID": "rule1",
                    "Prefix": "tmp/",
                    "Status": "Enabled",
                    "Expiration": {
                            "Days": "10"
                    },
                    "Transition": {
                            "Days": "5",
                            "StorageClass": "IA"
                    },
                    "AbortMultipartUpload": {
                            "Days": "10"
                    }
            }
    }

    Contoh perintah:

    ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration file://lifecycle-configuration.json
  • Gunakan string JSON untuk menentukan konfigurasi langsung dalam perintah:

    ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration "{\"Rule\":{\"ID\":\"rule1\",\"Prefix\":\"tmp/\",\"Status\":\"Enabled\",\"Expiration\":{\"Days\":\"10\"},\"Transition\":{\"Days\":\"5\",\"StorageClass\":\"IA\"},\"AbortMultipartUpload\":{\"Days\":\"10\"}}}"