全部產品
Search
文件中心

Object Storage Service:擷取儲存空間的儲存容量(Go SDK V2)

更新時間:Aug 02, 2025

本文介紹如何擷取指定儲存空間(Bucket)的儲存容量以及Bucket內不同儲存類型檔案(Object)的數量及其儲存容量。

注意事項

  • 本文範例程式碼以華東1(杭州)的地區IDcn-hangzhou為例,預設使用外網Endpoint,如果您希望通過與OSS同地區的其他阿里雲產品訪問OSS,請使用內網Endpoint。關於OSS支援的Region與Endpoint的對應關係,請參見OSS地區和訪問網域名稱

  • 本文以從環境變數讀取存取憑證為例。如何配置訪問憑證,請參見配置訪問憑證

方法定義

func (c *Client) GetBucketStat(ctx context.Context, request *GetBucketStatRequest, optFns ...func(*Options)) (*GetBucketStatResult, error)

請求參數列表

參數名

類型

說明

ctx

context.Context

請求的上下文,可以用來佈建要求的總時限

request

*GetBucketStatRequest

設定具體介面的請求參數,例如bucket名稱,具體請參見GetBucketStatRequest

optFns

...func(*Options)

(可選)介面級的配置參數, 請參見Options

傳回值列表

傳回值名

類型

說明

result

*GetBucketStatResult

介面傳回值,當 err 為nil 時有效,具體請參見GetBucketStatResult

err

error

請求的狀態,當請求失敗時,err 不為 nil

範例程式碼

您可以使用以下代碼擷取儲存空間的儲存容量資訊。

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"
)

// 定義全域變數
var (
	region     string // 儲存地區
	bucketName string // 儲存空間名稱
)

// init函數用於初始化命令列參數
func init() {
	flag.StringVar(&region, "region", "", "The region in which the bucket is located.")
	flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.")
}

func main() {
	// 解析命令列參數
	flag.Parse()

	// 檢查bucket名稱是否為空白
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, bucket name required")
	}

	// 檢查region是否為空白
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	// 載入預設配置並設定憑證提供者和地區
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	// 建立OSS用戶端
	client := oss.NewClient(cfg)

	// 建立擷取儲存空間儲存容量的請求
	request := &oss.GetBucketStatRequest{
		Bucket: oss.Ptr(bucketName), // 儲存空間名稱
	}

	// 執行擷取儲存空間儲存容量的操作並處理結果
	result, err := client.GetBucketStat(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to get bucket stat %v", err)
	}

	// 列印擷取儲存空間儲存容量的結果
	log.Printf("get bucket stat result:%#v\n", result)
}

常用儲存容量資訊列表

參數

描述

Storage

儲存空間總儲存量,單位為位元組

ObjectCount

儲存空間中總的Object數量

MultipartUploadCount

儲存空間中已經初始化但還未完成或者還未中止的分區上傳數量

LiveChannelCount

儲存空間中Live Channel的數量

LastModifiedTime

此次調用擷取到的儲存資訊的時間點,格式為時間戳記,單位為秒

StandardStorage

標準儲存類型Object的儲存量,單位為位元組

StandardObjectCount

標準儲存類型Object數量

InfrequentAccessStorage

低頻儲存類型Object的計費儲存量,單位為位元組

InfrequentAccessRealStorage

低頻儲存類型Object的實際儲存量,單位為位元組

InfrequentAccessObjectCount

低頻儲存類型Object數量

ArchiveStorage

Archive Storage類型Object的計費儲存量,單位為位元組

ArchiveRealStorage

Archive Storage類型Object的實際儲存量,單位為位元組

ArchiveObjectCount

Archive Storage類型Object數量

ColdArchiveStorage

冷Archive Storage類型Object的計費儲存量,單位為位元組

ColdArchiveRealStorage

冷Archive Storage類型Object的實際儲存量,單位為位元組

ColdArchiveObjectCount

冷Archive Storage類型Object數量

相關文檔

  • 關於擷取儲存空間資訊的完整範例程式碼,請參見Github樣本

  • 關於擷取儲存空間資訊的API介面,請參見GetBucketStat