全部产品
Search
文档中心

Object Storage Service:put-bucket-lifecycle

更新时间:Jul 02, 2025

Membuat aturan siklus hidup berdasarkan waktu modifikasi atau akses terakhir objek untuk memindahkan objek secara berkala ke kelas penyimpanan tertentu atau menghapus objek dan bagian yang kedaluwarsa guna optimasi biaya.

Catatan penggunaan

  • Jika bucket tidak memiliki aturan siklus hidup yang dikonfigurasi, perintah ini akan membuat aturan baru. Jika sudah ada aturan siklus hidup, perintah ini akan menimpa konfigurasi yang ada dengan aturan baru.

  • Aturan siklus hidup dapat digunakan untuk menentukan waktu kedaluwarsa objek serta bagian yang diunggah dalam tugas unggah multipart yang belum selesai.

Sintaksis perintah

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

Parameter

Tipe

Deskripsi

--bucket

string

Nama bucket.

--lifecycle-configuration

string

Kontainer untuk aturan siklus hidup. Kontainer konfigurasi siklus hidup dapat berisi hingga 1.000 aturan.

Catatan

Perintah put-bucket-lifecycle setara dengan operasi PutBucketLifecycle. Untuk informasi lebih lanjut tentang operasi API, lihat PutBucketLifecycle.

--lifecycle-configuration

Opsi --lifecycle-configuration mendukung format XML dan JSON.

  • Format 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>
  • Format 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 Opsi Baris Perintah.

Contoh

Buat aturan siklus hidup untuk bucket examplebucket.

  • Gunakan file konfigurasi XML (lifecycle-configuration.xml dalam contoh ini).

    <?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 (lifecycle-configuration.json dalam contoh ini).

    {
            "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 parameter JSON langsung di baris 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\"}}}"