Contoh konfigurasi untuk Object Lifecycle Management

Ringkasan Penyiapan

Halaman ini menunjukkan contoh konfigurasi untuk Object Lifecycle Management. Saat Anda menetapkan konfigurasi siklus proses di bucket, objek saat ini dan yang akan datang di dalam bucket yang memenuhi kondisi yang Anda tentukan memiliki tindakan yang ditentukan situs tersebut.

Menghapus versi objek yang lebih lama

Konfigurasi siklus proses berikut menentukan dua aturan. Perlu diperhatikan bahwa aturan ini hanya berlaku saat menggunakan Pembuatan Versi Objek di bucket:

  1. Hapus versi lama objek jika ada 2 versi objek yang lebih baru dalam bucket. Objek yang tunduk pada aturan ini akan dihapus secara permanen dan tidak dapat dipulihkan.

  2. Menghapus versi lama objek setelah menjadi versi lama selama 7 hari. Objek yang tunduk pada aturan ini akan dihapus secara permanen dan tidak dapat dipulihkan.

Efek gabungan dari kedua aturan di bucket yang menggunakan Pembuatan Versi Objek adalah objek aktif memiliki jangka waktu di mana objek tersebut dapat dipulihkan jika ditimpa atau dihapus: objek tetap berada di bucket dalam status tidak aktif selama tujuh hari atau hingga 2 versi objek yang lebih baru ada di bucket.

Konsol

Setelan ini menggunakan petunjuk yang terdapat di bagian menetapkan konfigurasi

  1. Untuk menghapus versi lama objek jika ada versi yang lebih baru:

    1. Pilih tindakan Delete object.
    2. Pilih kondisi Live state, lalu pilih tombol pilihan Noncurrent.
    3. Pilih kondisi Number of newer versions, lalu masukkan nilai 2.
  2. Untuk menghapus versi objek lama setelah objek tersebut berubah menjadi versi lama selama 7 hari:

    1. Pilih tindakan Delete object.
    2. Pilih kondisi Days since becoming noncurrent, lalu masukkan nilai 7.

Command line

Konfigurasi siklus proses berikut dapat diterapkan ke bucket dengan mengaktifkan pengelolaan siklus proses.

{
  "lifecycle": {
    "rule": [
      {
        "action": {"type": "Delete"},
        "condition": {
          "numNewerVersions": 2,
          "isLive": false
        }
      },
      {
        "action": {"type": "Delete"},
        "condition": {
          "daysSinceNoncurrentTime": 7
        }
      }
    ]
  }
}

Untuk mengetahui format umum file konfigurasi siklus proses, lihat representasi resource bucket untuk JSON.

REST API

JSON API

Konfigurasi siklus proses berikut dapat diterapkan ke bucket dengan mengaktifkan pengelolaan siklus proses.

{
  "lifecycle": {
    "rule": [
      {
        "action": {"type": "Delete"},
        "condition": {
          "numNewerVersions": 2,
          "isLive": false
        }
      },
      {
        "action": {"type": "Delete"},
        "condition": {
          "daysSinceNoncurrentTime": 7
        }
      }
    ]
  }
}

Untuk mengetahui format umum file konfigurasi siklus proses, lihat representasi resource bucket untuk JSON.

XML API

Konfigurasi siklus proses berikut dapat diterapkan ke bucket dengan mengaktifkan pengelolaan siklus proses.

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <IsLive>false</IsLive>
            <NumberOfNewerVersions>2</Age>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <Delete/>
        </Action>
        <Condition>
            <DaysSinceNoncurrentTime>7</DaysSinceNoncurrentTime>
        </Condition>
    </Rule>
</LifecycleConfiguration>

Untuk mengetahui format umum file konfigurasi siklus proses, lihat format konfigurasi siklus proses untuk XML.

Memodifikasi konfigurasi

Bergantung pada sasaran Anda, ada beberapa modifikasi yang dapat Anda buat pada contoh konfigurasi ini:

  • Jika Anda ingin objek aktif memiliki masa aktif terbatas, buat aturan tambahan yang menggunakan tindakan Delete, kondisi isLive yang ditetapkan ke true, dan kondisi age.

  • Jika Anda ingin melindungi data dari penghapusan yang tidak disengaja, tetapi tidak menimpa secara tidak sengaja, tetapkan jumlah versi baru ke 1. Hal ini juga mengurangi biaya penyimpanan karena Anda mempertahankan lebih sedikit versi objek.

  • Jika data Anda disimpan sebagai Nearline storage, Coldline storage, atau Archive storage, tambahkan kondisi age atau gunakan nilai yang lebih besar untuk daysSinceNoncurrentTime guna menghindari biaya penghapusan awal. Perlu diperhatikan bahwa meskipun dengan perubahan tersebut, Anda mungkin dikenai biaya penghapusan awal, bergantung pada seberapa sering Anda menimpa dan menghapus objek.

Mengubah kelas penyimpanan objek

Konfigurasi siklus proses berikut menentukan dua aturan:

  1. Ubah kelas penyimpanan objek ke Nearline storage jika usianya lebih dari 365 hari (satu tahun), kelas penyimpanannya saat ini adalah Standard storage, dan namanya diakhiri dengan .jpg atau .png.
  2. Ubah kelas penyimpanan objek ke Coldline storage jika usianya lebih dari 1.095 hari (tiga tahun), kelas penyimpanannya saat ini adalah Nearline storage, dan namanya diakhiri dengan .jpg atau .png.

Konsol

Setelan ini menggunakan petunjuk yang terdapat di bagian menetapkan konfigurasi

  1. Untuk memindahkan objek ke Nearline storage 365 hari setelah dibuat:

    1. Pilih tindakan Set storage class to Nearline.
    2. Pilih cakupan aturan Object name matches suffix.
    3. Di kolom yang muncul, ketik .jpg, lalu tekan enter. Kemudian ketik .png, lalu tekan enter lagi.
    4. Pilih kondisi Age, dan masukkan nilai 365.
    5. Pilih kondisi Storage class matches, lalu pilih opsi Standard.
  2. Untuk memindahkan objek ke Coldline storage 1.095 hari setelah dibuat:

    1. Pilih tindakan Set storage class to Coldline.
    2. Pilih cakupan aturan Object name matches suffix.
    3. Di kolom yang muncul, ketik .jpg, lalu tekan enter. Kemudian ketik .png, lalu tekan enter lagi.
    4. Pilih kondisi Age, dan masukkan nilai 1.095.
    5. Pilih kondisi Kelas penyimpanan yang cocok, lalu pilih opsi Nearline.

Command line

Konfigurasi siklus proses berikut dapat diterapkan ke bucket dengan mengaktifkan pengelolaan siklus proses.

{
  "lifecycle": {
    "rule": [
      {
        "action": {
          "type": "SetStorageClass",
          "storageClass": "NEARLINE"
        },
        "condition": {
          "age": 365,
          "matchesStorageClass": [
            "STANDARD"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      },
      {
        "action": {
          "type": "SetStorageClass",
          "storageClass": "COLDLINE"
        },
        "condition": {
          "age": 1095,
          "matchesStorageClass": [
            "NEARLINE"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      }
    ]
  }
}

Untuk mengetahui format umum file konfigurasi siklus proses, lihat representasi resource bucket untuk JSON.

REST API

JSON API

Konfigurasi siklus proses berikut dapat diterapkan ke bucket dengan mengaktifkan pengelolaan siklus proses.

{
  "lifecycle": {
    "rule": [
      {
        "action": {
          "type": "SetStorageClass",
          "storageClass": "NEARLINE"
        },
        "condition": {
          "age": 365,
          "matchesStorageClass": [
            "STANDARD"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      },
      {
        "action": {
          "type": "SetStorageClass",
          "storageClass": "COLDLINE"
        },
        "condition": {
          "age": 1095,
          "matchesStorageClass": [
            "NEARLINE"
          ],
          "matchesSuffix": [
            ".jpg",
            ".png"
          ]
        }
      }
    ]
  }
}

Untuk mengetahui format umum file konfigurasi siklus proses, lihat representasi resource bucket untuk JSON.

XML API

Konfigurasi siklus proses berikut dapat diterapkan ke bucket dengan mengaktifkan pengelolaan siklus proses.

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration>
    <Rule>
        <Action>
            <SetStorageClass>NEARLINE</SetStorageClass>
        </Action>
        <Condition>
            <Age>365</Age>
            <MatchesStorageClass>STANDARD</MatchesStorageClass>
            <MatchesSuffix>.jpg</MatchesSuffix>
            <MatchesSuffix>.png</MatchesSuffix>
        </Condition>
    </Rule>
    <Rule>
        <Action>
            <SetStorageClass>COLDLINE</SetStorageClass>
        </Action>
        <Condition>
            <Age>1095</Age>
            <MatchesStorageClass>NEARLINE</MatchesStorageClass>
            <MatchesSuffix>.jpg</MatchesSuffix>
            <MatchesSuffix>.png</MatchesSuffix>
        </Condition>
    </Rule>
</LifecycleConfiguration>

Untuk mengetahui format umum file konfigurasi siklus proses, lihat format konfigurasi siklus proses untuk XML.

Bergantung pada sasaran Anda, Anda dapat menambahkan kondisi tambahan ke contoh konfigurasi ini. Misalnya, Anda dapat menambahkan kondisi berdasarkan ukuran objek:

  • Mungkin tidak hemat biaya untuk melakukan transisi objek yang sangat kecil ke kelas penyimpanan yang jarang diakses. Jika Anda hanya ingin mengubah kelas penyimpanan objek yang lebih besar dari 5 MiB, misalnya, tambahkan sizeAboveBytes kondisi dengan nilai 5242880.
  • Jika Anda ingin mengubah kelas penyimpanan objek yang berada dalam rentang ukuran, gunakan kondisi sizeAboveBytes dan sizeBelowBytes dalam aturan yang sama.

Menghapus konfigurasi siklus proses

Saat ditetapkan di bucket, konfigurasi siklus proses berikut akan menonaktifkan pengelolaan siklus proses dengan menghapus semua aturan:

Konsol

  1. Di Google Cloud konsol, buka halaman Buckets Cloud Storage.

    Buka Buckets

  2. Dalam daftar bucket, klik nama bucket yang aturan siklus prosesnya ingin Anda hapus.

  3. Klik tab Lifecycle.

  4. Lakukan salah satu hal berikut:

    • Untuk menghapus semua aturan, klik Delete all.

    • Untuk menghapus aturan satu per satu, klik  Delete this rule from your bucket untuk aturan yang ingin Anda hapus.

Command line

Gunakan perintah gcloud storage buckets update dengan flag --clear-lifecycle:

gcloud storage buckets update gs://BUCKET_NAME --clear-lifecycle

Dengan BUCKET_NAME adalah nama bucket yang konfigurasi siklus prosesnya ingin Anda hapus.

REST API

JSON API

{
  "lifecycle": {
    "rule": []
  }
}

Untuk mengetahui format umum file konfigurasi siklus proses, lihat representasi resource bucket untuk JSON.

XML API

<?xml version="1.0" encoding="UTF-8" ?>
<LifecycleConfiguration/>

Untuk mengetahui format umum file konfigurasi siklus proses, lihat format konfigurasi siklus proses untuk XML.

Langkah berikutnya