全部产品
Search
文档中心

Object Storage Service:Kueri kapasitas penyimpanan bucket (Java SDK V1)

更新时间:Nov 26, 2025

Topik ini menjelaskan cara mengambil kapasitas penyimpanan bucket serta jumlah dan kapasitas penyimpanan objek untuk setiap kelas penyimpanan dalam bucket tersebut.

Catatan penggunaan

  • Pada topik ini digunakan titik akhir publik wilayah China (Hangzhou). 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 Wilayah dan titik akhir.

  • Pada topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi selengkapnya tentang cara mengonfigurasi kredensial akses, lihat Konfigurasi kredensial akses.

  • Pada 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 Contoh konfigurasi untuk skenario umum.

  • Untuk melakukan kueri kapasitas penyimpanan bucket, Anda harus memiliki izin oss:GetBucketStat. Untuk informasi selengkapnya, lihat Lampirkan kebijakan kustom ke RAM user.

Kode contoh

Kode berikut mengambil kapasitas penyimpanan bucket bernama examplebucket serta jumlah dan kapasitas penyimpanan objek untuk setiap kelas penyimpanan dalam bucket tersebut.

Penting

Hanya versi 3.14.1 dan yang lebih baru dari OSS SDK untuk Java yang mendukung semua properti yang terdapat dalam kode contoh berikut.

import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.BucketStat;

public class Demo {
    public static void main(String[] args) throws Exception {
        // Contoh ini menggunakan titik akhir wilayah China (Hangzhou). Tentukan titik akhir yang sebenarnya.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket. Misalnya, examplebucket.
        String bucketName = "examplebucket";
        // Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah menjadi cn-hangzhou.
        String region = "cn-hangzhou";

        // Buat instans OSSClient.
        // Setelah instans OSSClient tidak lagi diperlukan, panggil metode shutdown untuk melepaskan sumber daya.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            BucketStat stat = ossClient.getBucketStat(bucketName);
            // Dapatkan total kapasitas penyimpanan bucket dalam byte.
            System.out.println("StorageSize:"+stat.getStorageSize());
            // Dapatkan jumlah total objek dalam bucket.
            System.out.println("ObjectCount:"+stat.getObjectCount());
            // Dapatkan jumlah tugas unggah multi-bagian yang telah dimulai tetapi belum diselesaikan atau dibatalkan.
            System.out.println("MultipartUploadCount:"+stat.getMultipartUploadCount());
            // Dapatkan kapasitas penyimpanan objek Standard dalam byte.
            System.out.println("StandardStorage:"+stat.getStandardStorage());
            // Dapatkan jumlah objek Standard.
            System.out.println("StandardObjectCount:"+stat.getStandardObjectCount());
            // Dapatkan jumlah LiveChannel dalam bucket.
            System.out.println("LiveChannelCount:"+stat.getLiveChannelCount());
            // Waktu saat informasi penyimpanan diperoleh. Nilainya berupa stempel waktu UNIX dalam satuan detik.
            System.out.println("LastModifiedTime:"+stat.getLastModifiedTime());
            // Dapatkan kapasitas penyimpanan objek Akses Jarang (IA) yang dikenai tagihan dalam byte.
            System.out.println("InfrequentAccessStorage:"+stat.getInfrequentAccessStorage());
            // Dapatkan kapasitas penyimpanan aktual objek IA dalam byte.
            System.out.println("InfrequentAccessRealStorage:"+stat.getInfrequentAccessRealStorage());
            // Dapatkan jumlah objek IA.
            System.out.println("InfrequentAccessObjectCount:"+stat.getInfrequentAccessObjectCount());
            // Dapatkan kapasitas penyimpanan objek Archive Storage yang dikenai tagihan dalam byte.
            System.out.println("ArchiveStorage:"+stat.getArchiveStorage());
            // Dapatkan kapasitas penyimpanan aktual objek Archive Storage dalam byte.
            System.out.println("ArchiveRealStorage:"+stat.getArchiveRealStorage());
            // Dapatkan jumlah objek Archive Storage.
            System.out.println("ArchiveObjectCount:"+stat.getArchiveObjectCount());
            // Dapatkan kapasitas penyimpanan objek Cold Archive yang dikenai tagihan dalam byte.
            System.out.println("ColdArchiveStorage:"+stat.getColdArchiveStorage());
            // Dapatkan kapasitas penyimpanan aktual objek Cold Archive dalam byte.
            System.out.println("ColdArchiveRealStorage:"+stat.getColdArchiveRealStorage());
            // Dapatkan jumlah objek Cold Archive.
            System.out.println("ColdArchiveObjectCount:"+stat.getColdArchiveObjectCount());
        } catch (OSSException oe) {
            System.out.println("Terjadi OSSException, yang berarti permintaan Anda sampai ke OSS, "
                    + "tetapi ditolak dengan tanggapan error karena suatu alasan.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Terjadi ClientException, yang berarti client mengalami "
                    + "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
                    + "seperti tidak dapat mengakses jaringan.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}

Referensi

Untuk informasi selengkapnya tentang operasi API yang dapat Anda panggil untuk mengambil kapasitas penyimpanan bucket serta jumlah dan kapasitas penyimpanan objek untuk setiap kelas penyimpanan dalam bucket tersebut, lihat GetBucketStat.