Beberapa data yang diunggah ke Object Storage Service (OSS) mungkin jarang diakses tetapi tetap perlu disimpan dalam cold storage karena persyaratan kepatuhan atau arsip. Selain itu, Anda mungkin ingin menghapus data yang tidak lagi diperlukan secara batch untuk mengurangi biaya penyimpanan. Dalam kasus seperti ini, Anda dapat mengonfigurasi aturan lifecycle berdasarkan waktu modifikasi terakhir guna secara berkala mengonversi hot data menjadi cold data atau menghapus objek yang tidak diinginkan.
Catatan penggunaan
Sebelum mengonfigurasi aturan lifecycle berdasarkan waktu modifikasi terakhir objek, pastikan Anda memahami fitur ini terlebih dahulu. Untuk informasi selengkapnya, lihat Lifecycle rules based on the last modified time.
Dalam topik ini, titik akhir publik wilayah China (Hangzhou) digunakan. Untuk mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama, gunakan titik akhir internal. Untuk detail wilayah dan titik akhir yang didukung, lihat Regions and endpoints.
Dalam topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Create an OssClient.
Untuk menetapkan aturan lifecycle, Anda harus memiliki izin
oss:PutBucketLifecycle. Untuk melihat aturan lifecycle, Anda harus memiliki izinoss:GetBucketLifecycle. Untuk menghapus semua aturan lifecycle, Anda harus memiliki izinoss:DeleteBucketLifecycle. Untuk informasi selengkapnya, lihat Grant custom access policies to a RAM user.
Konfigurasikan aturan lifecycle untuk bucket
Kode contoh berikut menunjukkan cara mengonfigurasi aturan lifecycle berdasarkan waktu modifikasi terakhir untuk bucket bernama examplebucket. Untuk memodifikasi aturan lifecycle, ikuti petunjuk yang dijelaskan dalam How do I change the configurations of one or more lifecycle rules?
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Titik akhir China (Hangzhou) digunakan sebagai contoh. Gantilah dengan Titik akhir yang sebenarnya.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Tentukan nama bucket.
bucket = client.get_bucket('examplebucket')
# Tetapkan aturan lifecycle.
bucket.lifecycle = [
Aliyun::OSS::LifeCycleRule.new(
:id => 'rule1', :enable => true, :prefix => 'foo/', :expiry => 3),
Aliyun::OSS::LifeCycleRule.new(
:id => 'rule2', :enable => false, :prefix => 'bar/', :expiry => Date.new(2016, 1, 1))
]Kueri aturan lifecycle bucket
Kode contoh berikut menunjukkan cara melakukan kueri terhadap aturan lifecycle yang dikonfigurasi untuk examplebucket:
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Titik akhir China (Hangzhou) digunakan sebagai contoh. Gantilah dengan Titik akhir yang sebenarnya.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Tentukan nama bucket.
bucket = client.get_bucket('examplebucket')
# Lihat aturan lifecycle.
rules = bucket.lifecycle
puts rulesHapus semua aturan lifecycle bucket
Kode contoh berikut menunjukkan cara menghapus aturan lifecycle yang dikonfigurasi untuk examplebucket. Untuk menghapus satu atau beberapa aturan lifecycle, ikuti petunjuk yang dijelaskan dalam How do I delete one or more lifecycle rules?
require 'aliyun/oss'
client = Aliyun::OSS::Client.new(
# Titik akhir China (Hangzhou) digunakan sebagai contoh. Gantilah dengan Titik akhir yang sebenarnya.
endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
access_key_id: ENV['OSS_ACCESS_KEY_ID'],
access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Tentukan nama bucket.
bucket = client.get_bucket('examplebucket')
# Hapus semua aturan lifecycle.
bucket.lifecycle = []Referensi
Untuk informasi selengkapnya tentang operasi API yang dapat dipanggil untuk mengonfigurasi aturan lifecycle, lihat PutBucketLifecycle.
Untuk informasi selengkapnya tentang operasi API yang dapat dipanggil untuk melakukan kueri aturan lifecycle, lihat GetBucketLifecycle.
Untuk informasi selengkapnya tentang operasi API yang dapat dipanggil untuk menghapus aturan lifecycle, lihat DeleteBucketLifecycle.