All Products
Search
Document Center

Object Storage Service:Query the storage capacity of a bucket

Last Updated:Nov 07, 2024

This topic describes how to query the storage usage of a specific Object Storage Service (OSS) bucket and the number and storage usage of objects of different storage classes in the bucket.

Usage notes

  • In this topic, the public endpoint of the China (Hangzhou) region is used. If you want to access OSS from other Alibaba Cloud services in the same region as OSS, use an internal endpoint. For more information about OSS regions and endpoints, see Regions, endpoints and open ports.

  • In this topic, access credentials are obtained from environment variables. For more information about how to configure access credentials, see Configure access credentials.

  • In this topic, an OSSClient instance is created by using an OSS endpoint. If you want to create an OSSClient instance by using custom domain names or Security Token Service (STS), see Initialization.

  • Versions 2.2.5 and above of Go SDK support all attributes included in the sample code below.

Sample code

The following sample code provides an example on how to query the storage usage of a bucket named examplebucket and the number and storage usage of objects of different storage classes in the bucket.

package main

import (
	"log"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// Obtain access credentials from environment variables.
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		log.Fatalf("Failed to get credentials from environment variables: %v", err)
	}

	// Create an OSSClient instance. 
	// Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. Specify your actual endpoint. 
	// Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to cn-hangzhou. Specify the actual region.
	clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
	clientOptions = append(clientOptions, oss.Region("yourRegion"))
	// Specify the version of the signature algorithm.
	clientOptions = append(clientOptions, oss.AuthVersion(oss.AuthV4))
	client, err := oss.New("yourEndpoint", "", "", clientOptions...)
	if err != nil {
		log.Fatalf("Failed to create new OSS client: %v", err)
	}

	// Specify the name of the bucket. Example: examplebucket. 
	bucketName := "examplebucket"
	stat, err := client.GetBucketStat(bucketName)
	if err != nil {
		log.Fatalf("Failed to get bucket statistics for bucket '%s': %v", bucketName, err)
	}

	// Query the total storage capacity of the bucket. Unit: bytes. 
	log.Printf("Bucket Stat Storage: %d bytes\n", stat.Storage)
	// Query the total number of objects that are stored in the bucket. 
	log.Printf("Bucket Stat Object Count: %d\n", stat.ObjectCount)
}

Common Storage Patterns

Parameter

Description

Storage

Total storage capacity of the bucket (unit: bytes).

ObjectCount

Total number of objects stored in the bucket.

MultipartUploadCount

Number of multipart upload tasks that have been initiated but are not completed or canceled.

LiveChannelCount

Number of LiveChannels in the bucket.

LastModifiedTime

Time when the obtained information was last modified. The value is a UNIX timestamp (unit: seconds).

StandardStorage

Storage usage of Standard objects in the bucket (unit: bytes).

StandardObjectCount

Number of Standard objects in the bucket.

InfrequentAccessStorage

Billed storage usage of Infrequent Access (IA) objects in the bucket (unit: bytes).

InfrequentAccessRealStorage

Actual storage usage of IA objects in the bucket (unit: bytes).

InfrequentAccessObjectCount

Number of IA objects in the bucket.

ArchiveStorage

Billed storage usage of Archive objects in the bucket (unit: bytes).

ArchiveRealStorage

Actual storage usage of Archive objects in the bucket (unit: bytes).

ArchiveObjectCount

Number of Archive objects in the bucket.

ColdArchiveStorage

Billed storage usage of Cold Archive objects in the bucket (unit: bytes).

ColdArchiveRealStorage

Actual storage usage of Cold Archive objects in the bucket (unit: bytes).

ColdArchiveObjectCount

Number of Cold Archive objects in the bucket.

References

For more information about the API operation that you can call to query the storage usage of a specific bucket and the number and storage usage of objects of different storage classes in the bucket, see GetBucketStat.