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

Object Storage Service:PutBucket

最終更新日:Dec 20, 2024

バケットを作成します。

使用上の注意

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

  • Alibaba Cloudアカウントを使用して、同じリージョンに最大100個のバケットを作成できます。

  • 各リージョンは、対応するエンドポイントを使用してアクセスできます。 詳細については、「リージョンとエンドポイント」をご参照ください。

  • 同じバケットを作成するためにAlibaba Cloudアカウントから複数のPutBucket操作が呼び出された場合、最初の操作でバケットが作成され、その後の操作でバケットのメタデータが変更されます。 同じバケットで複数のPutBucket操作を呼び出す場合は、誤ってデータが上書きされる可能性があるため、注意してください。

リクエスト構文

PUT / HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
x-oss-acl: Permission
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<CreateBucketConfiguration>
    <StorageClass>Standard</StorageClass>
</CreateBucketConfiguration>

リクエストヘッダー

ヘッダー

必須 / 任意

説明

x-oss-acl

String

任意

非公開

バケットのアクセス制御リスト (ACL) 。 有効な値:

  • public-read-write

  • パブリック読み取り

  • private (デフォルト)

バケットのACLの詳細については、「バケットACL」をご参照ください。

x-oss-resource-group-id

String

任意

rg-aek27tc ****

リソースグループの ID です。

  • リクエストにヘッダーを含め、リソースグループのIDを指定した場合、作成するバケットはリソースグループに属します。

    指定されたリソースグループIDがrg-default-idの場合、作成するバケットはデフォルトリソースグループに属します。

  • リクエストにヘッダーを含めない場合、作成するバケットはデフォルトのリソースグループに属します。

リソースグループのIDを取得するには、resource Managementコンソールを使用するか、ListResourceGroups操作を呼び出します。 詳細については、「リソースグループの基本情報の表示」および「ListResourceGroups」をご参照ください。

x-oss-hns-status

String

任意

disabled

バケットの階層名前空間機能を有効にするかどうかを指定します。

階層名前空間機能は、バケットを作成する場合にのみ有効にできます。 既存のバケットの階層名前空間機能を有効または無効にすることはできません。

  • enabled

    バケットの階層名前空間機能を有効にすると、バケット内のディレクトリを作成、削除、および名前変更できます。

  • 無効 (デフォルト)

PutBucketリクエストのリクエストヘッダーには、共通のリクエストヘッダーも含まれています。 共通リクエストヘッダーの詳細については、「共通HTTPヘッダー」をご参照ください。

リクエスト要素

要素

必須 / 任意

説明

StorageClass

String

任意

標準

バケットのストレージクラス。 有効な値:

  • 標準 (デフォルト)

  • IA

  • アーカイブ

  • ColdArchive

  • DeepColdArchive

親ノード: CreateBucketConfiguration

子ノード: なし

DataRedundancyType

String

任意

LRS

バケットの冗長タイプ。 有効な値:

  • LRS (デフォルト)

    ローカル冗長ストレージ (LRS) は、同じゾーン内の異なるデバイス間で各オブジェクトのコピーを格納します。 これにより、2つのストレージデバイスが同時に損傷した場合でも、データの信頼性と可用性が保証されます。

  • ZRS

    Zone-redundant storage (ZRS) は、同じリージョンの複数のゾーンにデータを格納します。 ゾーンが使用できなくなっても、データにアクセスできます。

親ノード: CreateBucketConfiguration

子ノード: なし

レスポンスヘッダー

ヘッダー

タイプ

説明

場所

String

/oss-例

バケットのURL。 ヘッダーは、スラッシュ (/) とバケットの名前で構成されます。

このヘッダーはデフォルトでは空です。

PutBucket要求に対する応答には、共通の応答ヘッダーが含まれます。 詳細については、「共通レスポンスヘッダー」をご参照ください。

  • デフォルトリソースグループにバケットを作成する

    PUT / HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Fri, 24 Feb 2017 03:15:40 GMT
    x-oss-acl: private
    Authorization: OSS qn6q**************:77Dv****************
    <?xml version="1.0" encoding="UTF-8"?>
    <CreateBucketConfiguration>
        <StorageClass>Standard</StorageClass>
        <DataRedundancyType>LRS</DataRedundancyType>    
    </CreateBucketConfiguration>
  • 通常のレスポンス例

    HTTP/1.1 200 OK
    x-oss-request-id: 534B371674E88A4D8906****
    Date: Fri, 24 Feb 2017 03:15:40 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
    Location: /oss-example
  • 特定のリソースグループにバケットを作成する

    リクエストの例

    PUT / HTTP/1.1
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com
    Date: Fri, 24 Feb 2017 03:15:40 GMT
    x-oss-acl: private
    x-oss-resource-group-id: rg-aek27tc********
    Authorization: OSS qn6q**************:77Dv****************
    <?xml version="1.0" encoding="UTF-8"?>
    <CreateBucketConfiguration>
        <StorageClass>Standard</StorageClass>
    </CreateBucketConfiguration>

    通常のレスポンス例

    HTTP/1.1 200 OK
    x-oss-request-id: 534B371674E88A4D8906****
    Date: Fri, 24 Feb 2017 03:15:40 GMT
    Content-Length: 0
    Connection: keep-alive
    Server: AliyunOSS
    Location: /oss-example

SDK

次のプログラミング言語のOSS SDKを使用して、PutBucketを呼び出すことができます。

エラーコード

エラーコード

HTTPステータスコード

説明

InvalidBucketName

400

バケット名が命名要件を満たしていません。

AccessDenied

403

考えられる原因:

  • PutBucketリクエストの開始時に、ユーザー認証に関する情報はインポートされません。

  • PutBucket操作を呼び出す権限がありません。

TooManyBuckets

400

作成されたバケットの数が上限を超えています。 Alibaba Cloudアカウントを使用して、同じリージョンに最大100個のバケットを作成できます。

BucketAlreadyExists

409

  • このバケットはすでに存在するか、別のユーザーによって占有されています。 命名要件を満たす新しいバケット名を使用します。

  • 既存のバケットの階層名前空間機能を有効または無効にすることはできません。 階層名前空間機能は、バケットを作成する場合にのみ有効にできます。

  • 既存のバケットの階層的な名前空間の状態を変更します。 階層名前空間機能は、バケットを作成する場合にのみ有効にできます。