Topik ini menjelaskan cara mengkueri penggunaan penyimpanan dari bucket Object Storage Service (OSS) tertentu, serta jumlah dan penggunaan penyimpanan objek dari berbagai kelas penyimpanan di dalam bucket tersebut.
Catatan penggunaan
Kode contoh dalam topik ini menggunakan ID Wilayah
cn-hangzhouuntuk Wilayah Hangzhou, Tiongkok. Secara default, titik akhir publik digunakan untuk mengakses sumber daya dalam bucket. Jika Anda ingin mengakses sumber daya bucket dari layanan Alibaba Cloud lainnya di wilayah yang sama, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir OSS, lihat Wilayah dan Titik Akhir.Dalam topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.
Metode
func (c *Client) GetBucketStat(ctx context.Context, request *GetBucketStatRequest, optFns ...func(*Options)) (*GetBucketStatResult, error)Parameter permintaan
Parameter | Tipe | Deskripsi |
ctx | context.Context | Konteks permintaan, yang dapat digunakan untuk menentukan durasi total permintaan. |
request | *GetBucketStatRequest | Menentukan parameter operasi API tertentu, seperti nama bucket. Untuk informasi lebih lanjut, lihat GetBucketStatRequest. |
optFns | ...func(*Options) | Opsional. Parameter tingkat operasi. Untuk informasi lebih lanjut, lihat Options. |
Parameter respons
Parameter respons | Tipe | Deskripsi |
result | *GetBucketStatResult | Respons terhadap operasi. Parameter ini valid ketika nilai err adalah nil. Untuk informasi lebih lanjut, lihat GetBucketStatResult. |
err | error | Status permintaan. Jika permintaan gagal, nilai err tidak bisa nil. |
Contoh
Berikut adalah kode contoh yang menunjukkan cara mengkueri penggunaan penyimpanan bucket:
package main
import (
"context"
"flag"
"log"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)
// Tentukan variabel global.
var (
region string // Wilayah.
bucketName string // Nama bucket.
)
// Tentukan fungsi init yang digunakan untuk menginisialisasi parameter baris perintah.
func init() {
flag.StringVar(®ion, "region", "", "Wilayah tempat bucket berada.")
flag.StringVar(&bucketName, "bucket", "", "Nama bucket.")
}
func main() {
// Parsing parameter baris perintah.
flag.Parse()
// Periksa apakah nama bucket kosong.
if len(bucketName) == 0 {
flag.PrintDefaults()
log.Fatalf("parameter tidak valid, nama bucket diperlukan")
}
// Periksa apakah wilayah kosong.
if len(region) == 0 {
flag.PrintDefaults()
log.Fatalf("parameter tidak valid, wilayah diperlukan")
}
// Muat konfigurasi default dan tentukan penyedia kredensial dan wilayah.
cfg := oss.LoadDefaultConfig().
WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
WithRegion(region)
// Buat klien OSS.
client := oss.NewClient(cfg)
// Buat permintaan untuk mengkueri penggunaan penyimpanan bucket.
request := &oss.GetBucketStatRequest{
Bucket: oss.Ptr(bucketName), // Nama bucket.
}
// Eksekusi permintaan untuk mengkueri penggunaan penyimpanan bucket dan proses hasilnya.
result, err := client.GetBucketStat(context.TODO(), request)
if err != nil {
log.Fatalf("gagal mendapatkan statistik bucket %v", err)
}
// Tampilkan penggunaan penyimpanan bucket.
log.Printf("hasil statistik bucket:%#v\n", result)
}
Informasi kapasitas penyimpanan umum
Parameter | Deskripsi |
Storage | Total penggunaan penyimpanan bucket. Satuan: byte. |
ObjectCount | Total jumlah objek di bucket. |
MultipartUploadCount | Jumlah tugas unggah multipart yang telah dimulai tetapi belum selesai atau dibatalkan. |
LiveChannelCount | Jumlah LiveChannel di bucket. |
LastModifiedTime | Waktu saat informasi yang diperoleh terakhir dimodifikasi. Nilainya adalah timestamp UNIX. Satuan: detik. |
StandardStorage | Penggunaan penyimpanan objek Standard di bucket. Satuan: byte. |
StandardObjectCount | Jumlah objek Standard di bucket. |
InfrequentAccessStorage | Penggunaan penyimpanan yang ditagihkan untuk objek Infrequent Access (IA) di bucket. Satuan: byte. |
InfrequentAccessRealStorage | Penggunaan penyimpanan aktual objek IA di bucket. Satuan: byte. |
InfrequentAccessObjectCount | Jumlah objek dalam Infrequent Access |
ArchiveStorage | Penggunaan penyimpanan yang ditagihkan untuk objek Archive di bucket. Satuan: byte. |
ArchiveRealStorage | Penggunaan penyimpanan aktual objek Archive di bucket. Satuan: byte. |
ArchiveObjectCount | Jumlah objek Archive di bucket. |
ColdArchiveStorage | Penggunaan penyimpanan yang ditagihkan untuk objek Penyimpanan Arsip Dingin di bucket. Satuan: byte. |
ColdArchiveRealStorage | Penggunaan penyimpanan aktual objek Penyimpanan Arsip Dingin di bucket. Satuan: byte. |
ColdArchiveObjectCount | Jumlah objek Penyimpanan Arsip Dingin di bucket. |
Referensi
Untuk kode contoh lengkap yang digunakan untuk mengkueri informasi tentang bucket, kunjungi GitHub.
Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk mengkueri informasi tentang bucket, lihat GetBucketStat.