すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:バケット情報の取得 (Go SDK V1)

最終更新日:Nov 29, 2025

バケットはオブジェクトのコンテナーです。Object Storage Service (OSS) Go SDK を使用して、バケット情報を取得できます。この情報には、アクセス追跡ステータス、リージョン、作成日、アクセス制御リスト (ACL)、オーナーの名前と ID、ストレージクラス、ディザスタリカバリタイプ、パブリックエンドポイント、内部の同一リージョンエンドポイント、クロスリージョンレプリケーションステータス、バージョン管理ステータス、暗号化方式などが含まれます。この情報を使用して、関連する操作を実行できます。たとえば、オブジェクト名とバケットのパブリックエンドポイントを組み合わせることで、オブジェクトにアクセスできます。

注意事項

  • このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。OSS と同じリージョンにある他の Alibaba Cloud サービスから OSS にアクセスする場合は、内部エンドポイントを使用してください。OSS のリージョンとエンドポイントの詳細については、リージョンとエンドポイントをご参照ください。

  • このトピックでは、アクセス認証情報は環境変数から取得されます。アクセス認証情報の設定方法の詳細については、アクセス認証情報の設定をご参照ください。

  • このトピックでは、OSS エンドポイントを使用して OSSClient インスタンスを作成します。カスタムドメイン名またはセキュリティトークンサービス (STS) を使用して OSSClient インスタンスを作成する場合は、クライアントの設定 (Go SDK V1) をご参照ください。

  • バケットに関する情報を取得するには、oss:GetBucketInfo 権限が必要です。詳細については、RAM ユーザーへのカスタムポリシーのアタッチをご参照ください。

  • Go SDK V2.2.5 以降では、次のサンプルコードに示されているすべてのプロパティが返されます。

サンプルコード

次のコードは、バケット情報を取得する方法を示しています。

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 をバケットのエンドポイントに設定します。たとえば、中国 (杭州) リージョンの場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。他のリージョンについては、実際のエンドポイントを使用してください。
	// yourRegion をバケットが配置されているリージョンに設定します。たとえば、中国 (杭州) リージョンの場合、リージョンを cn-hangzhou に設定します。他のリージョンについては、実際のリージョンを使用してください。
	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)
	}

	// バケット名を指定します。例:examplebucket。
	bucketName := "examplebucket"
	res, err := client.GetBucketInfo(bucketName)
	if err != nil {
		log.Fatalf("Failed to get bucket info for bucket '%s': %v", bucketName, err)
	}

	log.Printf("Bucket Info Name: %s\n", res.BucketInfo.Name)         // バケット名を出力します。
	log.Printf("Bucket Info Location: %s\n", res.BucketInfo.Location) // バケットが配置されているリージョンを出力します。
}

一般的なバケット情報の一覧

パラメーター

説明

BucketInfo.Name

バケットの名前。

BucketInfo.AccessMonitor

バケットのアクセス追跡ステータス。

BucketInfo.Location

バケットが配置されているリージョン。

BucketInfo.CreationDate

バケットの作成日。

BucketInfo.ExtranetEndpoint

バケットのパブリックエンドポイント。

BucketInfo.IntranetEndpoint

ECS インスタンスからバケットにアクセスするための内部の同一リージョンエンドポイント。

BucketInfo.ACL

バケットの ACL。

BucketInfo.RedundancyType

バケットのデータディザスタリカバリタイプ。

BucketInfo.Owner

このパラメーターには、次のサブパラメーターが含まれます:

  • BucketInfo.Owner.ID:バケットオーナーのユーザー ID。

  • BucketInfo.Owner.DisplayName:バケットオーナーの名前。

BucketInfo.StorageClass

バケットのストレージクラス。

BucketInfo.SseRule

このパラメーターには、次のサブパラメーターが含まれます:

  • BucketInfo.SseRule.KMSDataEncryption:Key Management Service (KMS) 暗号化が使用されているかどうかを示します。

  • BucketInfo.SseRule.KMSMasterKeyID:現在使用されている KMS キーの ID。

  • BucketInfo.SseRule.SSEAlgorithm:デフォルトのサーバー側暗号化方式。

BucketInfo.Versioning

バケットのバージョン管理ステータス。

BucketInfo.CrossRegionReplication

バケットのクロスリージョンレプリケーションステータス。

関連ドキュメント

  • バケットの詳細については、バケットの概要をご参照ください。

  • バケット情報の API の詳細については、BucketInfo をご参照ください。