Untuk mengonfigurasi aturan lifecycle berdasarkan waktu akses terakhir, Anda harus terlebih dahulu mengaktifkan Pelacakan akses. Aturan ini memungkinkan Anda untuk secara otomatis memantau pola akses objek dalam bucket Object Storage Service (OSS) dan memindahkan data dingin ke kelas penyimpanan yang lebih hemat biaya.
Untuk informasi selengkapnya tentang operasi API untuk melihat waktu akses terakhir suatu objek, lihat GetObjectMeta.
Catatan penggunaan
Topik ini menggunakan titik akhir publik wilayah China (Hangzhou). Jika Anda mengakses OSS dari layanan Alibaba Cloud lain yang berada di wilayah yang sama dengan OSS, gunakan titik akhir internal. Untuk informasi selengkapnya tentang wilayah dan titik akhir OSS, lihat Regions and endpoints.
Topik ini memperoleh kredensial akses dari variabel lingkungan. Untuk informasi selengkapnya tentang cara mengonfigurasi kredensial akses, lihat Configure access credentials.
Topik ini membuat instans OSSClient menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Configure a client (Go SDK V1).
Aktifkan pelacakan akses
Kode berikut menunjukkan cara mengaktifkan pelacakan akses untuk bucket bernama examplebucket.
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
func main() {
// Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
provider, err := oss.NewEnvironmentVariableCredentialsProvider()
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// Buat instans OSSClient.
// Setel yourEndpoint ke titik akhir bucket. Misalnya, untuk bucket di wilayah China (Hangzhou), setel titik akhir ke https://oss-cn-hangzhou.aliyuncs.com. Untuk wilayah lain, tentukan titik akhir yang sesuai.
// Setel yourRegion ke wilayah tempat bucket berada. Misalnya, untuk bucket di wilayah China (Hangzhou), setel wilayah ke cn-hangzhou. Untuk wilayah lain, tentukan wilayah yang sesuai.
clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
clientOptions = append(clientOptions, oss.Region("yourRegion"))
// Setel versi signature.
clientOptions = append(clientOptions, oss.AuthVersion(oss.AuthV4))
client, err := oss.New("yourEndpoint", "", "", clientOptions...)
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// Tentukan nama bucket.
bucketName := "examplebucket"
// Aktifkan pelacakan akses untuk examplebucket.
access := oss.PutBucketAccessMonitor{
Status: "Enabled",
}
err = client.PutBucketAccessMonitor(bucketName, access)
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
fmt.Println("put bucket access monitor success!")
}
Tampilkan status pelacakan akses
Kode berikut menunjukkan cara menampilkan status pelacakan akses bucket bernama examplebucket.
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
func main() {
// Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
provider, err := oss.NewEnvironmentVariableCredentialsProvider()
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// Buat instans OSSClient.
// Setel yourEndpoint ke titik akhir bucket. Misalnya, untuk bucket di wilayah China (Hangzhou), setel titik akhir ke https://oss-cn-hangzhou.aliyuncs.com. Untuk wilayah lain, tentukan titik akhir yang sesuai.
// Setel yourRegion ke wilayah tempat bucket berada. Misalnya, untuk bucket di wilayah China (Hangzhou), setel wilayah ke cn-hangzhou. Untuk wilayah lain, tentukan wilayah yang sesuai.
clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
clientOptions = append(clientOptions, oss.Region("yourRegion"))
// Setel versi signature.
clientOptions = append(clientOptions, oss.AuthVersion(oss.AuthV4))
client, err := oss.New("yourEndpoint", "", "", clientOptions...)
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// Tentukan nama bucket.
bucketName := "examplebucket"
// Tampilkan status pelacakan akses examplebucket.
result, err := client.GetBucketAccessMonitor(bucketName)
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
fmt.Printf("bucket access monitor config is:%s\n", result.Status)
}
Referensi
Untuk informasi selengkapnya tentang cara mengonfigurasi aturan lifecycle berdasarkan waktu akses terakhir, lihat Lifecycle rules based on last access time.
Untuk informasi selengkapnya tentang operasi API untuk mengaktifkan pelacakan akses, lihat PutBucketAccessMonitor.
Untuk informasi selengkapnya tentang operasi API untuk menampilkan status pelacakan akses, lihat GetBucketAccessMonitor.