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

Object Storage Service:OSS SDK for Go 2.0を使用したバケットの作成

最終更新日:Jan 03, 2025

バケットは、オブジェクトを格納するために使用されるコンテナです。 このトピックでは、バケットを作成する方法について説明します。

使用上の注意

  • このトピックのサンプルコードでは、中国 (杭州) リージョンのリージョンID cn-hangzhouを使用しています。 デフォルトでは、パブリックエンドポイントはバケット内のリソースにアクセスするために使用されます。 バケットが配置されているのと同じリージョンにある他のAlibaba Cloudサービスを使用してバケット内のリソースにアクセスする場合は、内部エンドポイントを使用します。 OSSリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。

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

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

移動方法

func (c *Client) PutBucket(ctx context.Context, request *PutBucketRequest, optFns ...func(*Options)) (*PutBucketResult, error)

リクエストパラメーター

パラメーター

データ型

説明

ctx

context.Context

リクエストのコンテキスト。リクエストの合計期間を指定するために使用できます。

request

* PutBucketRequest

特定の操作のパラメーターを指定します。

詳細については、「PutBucketRequest」をご参照ください。

optFns

. .. func(* オプション)

必要に応じて、 操作レベルパラメーター。

詳細については、「オプション」をご参照ください。

応答パラメーター

リターンパラメータ

種類

説明

result

* PutBucketResult

操作への応答。 このパラメーターは、errの値がnilの場合に有効です。 詳細については、「PutBucketResult」をご参照ください。

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

// Specify the global variables.
var (
	region     string // The region.
	bucketName string // The name of the bucket.
)

// Specify the init function used to initialize command line parameters.
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() {
	// Parse command line parameters.
	flag.Parse()

	// Check whether the bucket name is empty.
	if len(bucketName) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, bucket name required")
	}

	// Check whether the region is empty.
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("invalid parameters, region required")
	}

	// Load the default configurations and specify the credential provider and region.
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	// Create an OSS client.
	client := oss.NewClient(cfg)

	request := &oss.PutBucketRequest{
		Bucket: oss.Ptr(bucketName), // The name of the bucket.
	}

	// Send a request to create a bucket.
	result, err := client.PutBucket(context.TODO(), request)
	if err != nil {
		log.Fatalf("failed to put bucket %v", err)
	}

	// Display the result of the bucket creation.
	log.Printf("put bucket result:%#v\n", result)
}

関連ドキュメント

  • バケットの作成に使用する完全なサンプルコードについては、『GitHub』をご参照ください。

  • バケットを作成するために呼び出すことができるAPI操作の詳細については、「PutBucket」をご参照ください。