Go获取存储空间的存储容量

本文介绍如何获取指定存储空间(Bucket)的存储容量以及Bucket内不同存储类型文件(Object)的数量及其存储容量。

注意事项

  • 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的RegionEndpoint的对应关系,请参见OSS访问域名、数据中心、开放端口

  • 本文以从环境变量读取访问凭证为例。如何配置访问凭证,请参见配置访问凭证

  • 本文以OSS域名新建OSSClient为例。如果您希望通过自定义域名、STS等方式新建OSSClient,请参见初始化

  • Go SDK 2.2.5及以上版本支持返回以下示例代码中包含的所有属性。

示例代码

以下代码用于获取examplebucket的存储容量以及该Bucket内不同存储类型Object的数量及其存储容量。

package main

import (
	"log"

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

func main() {
	// 从环境变量中获取访问凭证。
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		log.Fatalf("Failed to get credentials from environment variables: %v", err)
	}

	// 创建OSSClient实例。
	// yourEndpoint填写Bucket对应的Endpoint,以华东1(杭州)为例,填写为https://oss-cn-hangzhou.aliyuncs.com。其它Region请按实际情况填写。
	// yourRegion填写Bucket所在地域,以华东1(杭州)为例,填写为cn-hangzhou。其它Region请按实际情况填写。
	clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
	clientOptions = append(clientOptions, oss.Region("yourRegion"))
	// 设置签名版本
	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)
	}

	// 填写Bucket名称,例如examplebucket。
	bucketName := "examplebucket"
	stat, err := client.GetBucketStat(bucketName)
	if err != nil {
		log.Fatalf("Failed to get bucket statistics for bucket '%s': %v", bucketName, err)
	}

	// 获取Bucket的总存储量,单位为字节。
	log.Printf("Bucket Stat Storage: %d bytes\n", stat.Storage)
	// 获取Bucket中总的Object数量。
	log.Printf("Bucket Stat Object Count: %d\n", stat.ObjectCount)
}

常用存储容量信息列表

参数

描述

Storage

存储空间总存储量,单位为字节

ObjectCount

存储空间中总的Object数量

MultipartUploadCount

存储空间中已经初始化但还未完成或者还未中止的分片上传数量

LiveChannelCount

存储空间中Live Channel的数量

LastModifiedTime

此次调用获取到的存储信息的时间点,格式为时间戳,单位为秒

StandardStorage

标准存储类型Object的存储量,单位为字节

StandardObjectCount

标准存储类型Object数量

InfrequentAccessStorage

低频存储类型Object的计费存储量,单位为字节

InfrequentAccessRealStorage

低频存储类型Object的实际存储量,单位为字节

InfrequentAccessObjectCount

低频存储类型Object数量

ArchiveStorage

归档存储类型Object的计费存储量,单位为字节

ArchiveRealStorage

归档存储类型Object的实际存储量,单位为字节

ArchiveObjectCount

归档存储类型Object数量

ColdArchiveStorage

冷归档存储类型Object的计费存储量,单位为字节

ColdArchiveRealStorage

冷归档存储类型Object的实际存储量,单位为字节

ColdArchiveObjectCount

冷归档存储类型Object数量

相关文档

  • 关于存储空间容量信息的接口说明,请参见BucketStat