Menetapkan kebijakan siklus proses objek untuk bucket penyimpanan

Halaman ini menunjukkan cara menetapkan kebijakan siklus proses objek untuk bucket penyimpanan Google Distributed Cloud (GDC) yang terisolasi.

Sebelum memulai

Namespace project mengelola resource bucket di server Management API. Anda harus memiliki project untuk menggunakan bucket dan objek.

Anda juga harus memiliki izin bucket yang sesuai untuk melakukan operasi berikut. Lihat Memberikan akses bucket.

Menetapkan kebijakan siklus proses objek pada bucket

Anda dapat menggunakan kebijakan siklus proses objek untuk mengelola objek di bucket secara otomatis. Hal ini membantu Anda menyimpan data secara lebih efisien sepanjang masa pakainya. Konfigurasi siklus proses adalah daftar aturan untuk mengakhiri masa berlaku sekelompok objek berdasarkan kriteria pencocokan tertentu.

Anda dapat membuat bucket dengan atau tanpa kebijakan siklus proses objek. Selain itu, Anda dapat menerapkan kebijakan siklus proses baru, memperbarui kebijakan siklus proses yang ada, atau menghapus kebijakan siklus proses yang ada setelah bucket dibuat.

Untuk bucket yang tidak memiliki versi, masa berlaku berakhir berarti menghapus objek secara permanen secara asinkron.

Untuk bucket yang memiliki versi, jika versi objek saat ini bukan penanda penghapusan, masa berlaku berakhir akan membuat versi saat ini menjadi versi lama, lalu menambahkan penanda penghapusan ke versi saat ini.

Untuk menetapkan dan mengubah kebijakan siklus proses objek, perbarui kolom Bucket.spec.bucketPolicy.lifecyclePolicy.

CLI

Berikut beberapa contoh resource bucket dengan kebijakan siklus proses objek yang berbeda yang dikonfigurasi:

apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: "Bucket with lifecycle rule to expire all objects after 365 days"
  storageClass: Standard
  bucketPolicy:
    lifecyclePolicy:
      enable: true
      lifecycleRules:
      - expiration:
          days: 365
        id: expire-all-after-365-days
        status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: "Bucket with lifecycle rule to expire objects in the logs/ directory after 30 days"
  storageClass: Standard
  bucketPolicy:
    lifecyclePolicy:
      enable: true
      lifecycleRules:
      - expiration:
          days: 30
        id: expire-logs-dir-after-30-days
        status: Enabled
        filter:
          prefixFilter: "logs/"
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: "Bucket with lifecycle rule to expire objects having specific tag after 30 days"
  storageClass: Standard
  bucketPolicy:
    lifecyclePolicy:
      enable: true
      lifecycleRules:
      - expiration:
          days: 30
        id: expire-tagged-objects-after-30-days
        status: Enabled
        filter:
          tagFilters:
          - key: environment
            value: dev
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: "Bucket with lifecycle rule to expire noncurrent versions after 90 days"
  storageClass: Standard
  bucketPolicy:
    lifecyclePolicy:
      enable: true
      lifecycleRules:
      - noncurrentExpiration:
          noncurrentDays: 90
        id: expire-noncurrent-after-90-days
        status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: "Bucket with lifecycle rule to expire objects on a specific date"
  storageClass: Standard
  bucketPolicy:
    lifecyclePolicy:
      enable: true
      lifecycleRules:
      - expiration:
          date: "2027-01-01T00:00:00Z"
        id: expire-on-specific-date
        status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: "Bucket with multiple lifecycle rules and advanced filters"
  storageClass: Standard
  bucketPolicy:
    lifecyclePolicy:
      enable: true
      lifecycleRules:
      # Rule 1: Expire objects in 'tmp/' directory AND tagged with 'status=ready' after 7 days
      - expiration:
          days: 7
        id: expire-ready-tmp-objects
        status: Enabled
        filter:
          prefixFilter: "tmp/"
          tagFilters:
          - key: status
            value: ready
      # Rule 2: Expire all objects in 'logs/' directory after 90 days
      - expiration:
          days: 90
        id: expire-logs-after-90-days
        status: Enabled
        filter:
          prefixFilter: "logs/"

Setiap pembaruan pada kebijakan siklus proses berlaku untuk objek yang ada dan objek yang diupload setelah pembaruan.

Jika bucket juga memiliki konfigurasi penguncian objek, objek akan dilindungi dari masa berlaku yang berakhir sebelum hari retensi berakhir.