Amazon Simple Storage Service
開発者ガイド (API バージョン 2006-03-01)

バケットを作成する例

次のコード例では、Java、.NET、および Ruby 用の AWS SDK を使用して、プログラムでバケットを作成します。以下のタスクを実行します。

  • バケットを作成します (まだ存在していない場合)。この例では、バケットを作成するために以下のタスクを実行します。

    • 明示的に AWS リージョン (例では s3-eu-west-1 リージョン) を指定してクライアントを作成します。したがって、クライアントは s3-eu-west-1.amazonaws.com エンドポイントを使用して Amazon S3 と通信します。他の AWS リージョンも指定できます。AWS リージョンのリストについては、AWS 全般のリファレンスの「リージョンとエンドポイント」を参照してください。

    • バケット名のみを指定してバケット作成リクエストを送信します。バケット作成リクエストでは、別の AWS リージョンを指定しません。クライアントから Amazon S3 に送信されるリクエストでは、クライアントの作成時に指定したリージョンでバケットが作成されます。バケットを作成したら、そのリージョンを変更することはできません。

      注記

      バケット作成リクエストで、クライアントを作成したときに指定した AWS リージョンとは異なるリージョンを明示的に指定すると、エラーになる場合があります。詳細については、「バケットの作成」を参照してください。

      SDK ライブラリは、バケットを作成するための PUT バケットリクエストを Amazon S3 に送信します。詳細については、「PUT Bucket 」を参照してください。

  • バケットの場所情報を取得します。場所情報は、Amazon S3 のバケットに関連付けられている location サブリソースに保存されています。SDK ライブラリは、GET Bucket location リクエストを送信して (「GET Bucket location」を参照)、この情報を取得します。

Amazon S3 コンソールの使用

Amazon S3 コンソールを使用してバケットを作成するには、「S3 バケットを作成する方法」(Amazon Simple Storage Service コンソールユーザーガイド) を参照してください。

AWS SDK for Java の使用

この例では、AWS SDK for Java を使用して Amazon S3 バケットを作成する方法を示します。有効なサンプルを作成してテストする手順については、「Amazon S3 Java コード例のテスト」を参照してください。

import java.io.IOException; import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.CreateBucketRequest; import com.amazonaws.services.s3.model.GetBucketLocationRequest; public class CreateBucket { public static void main(String[] args) throws IOException { String clientRegion = "*** Client region ***"; String bucketName = "*** Bucket name ***"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); if (!s3Client.doesBucketExistV2(bucketName)) { // Because the CreateBucketRequest object doesn't specify a region, the // bucket is created in the region specified in the client. s3Client.createBucket(new CreateBucketRequest(bucketName)); // Verify that the bucket was created by retrieving it and checking its location. String bucketLocation = s3Client.getBucketLocation(new GetBucketLocationRequest(bucketName)); System.out.println("Bucket location: " + bucketLocation); } } catch(AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch(SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }

AWS SDK for .NET の使用

有効なサンプルを作成してテストする方法については、「Amazon S3 .NET コード例の実行」を参照してください。

// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-s3-developer-guide/blob/master/LICENSE-SAMPLECODE.) using Amazon.S3; using Amazon.S3.Model; using Amazon.S3.Util; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class CreateBucketTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 s3Client; public static void Main() { s3Client = new AmazonS3Client(bucketRegion); CreateBucketAsync().Wait(); } static async Task CreateBucketAsync() { try { if (!(await AmazonS3Util.DoesS3BucketExistAsync(s3Client, bucketName))) { var putBucketRequest = new PutBucketRequest { BucketName = bucketName, UseClientRegion = true }; PutBucketResponse putBucketResponse = await s3Client.PutBucketAsync(putBucketRequest); } // Retrieve the bucket location. string bucketLocation = await FindBucketLocationAsync(s3Client); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } } static async Task<string> FindBucketLocationAsync(IAmazonS3 client) { string bucketLocation; var request = new GetBucketLocationRequest() { BucketName = bucketName }; GetBucketLocationResponse response = await client.GetBucketLocationAsync(request); bucketLocation = response.Location.ToString(); return bucketLocation; } } }

AWS SDK for Ruby バージョン 3 の使用

有効なサンプルを作成してテストする方法については、「AWS SDK for Ruby バージョン 3 の使用」を参照してください。

require 'aws-sdk-s3' s3 = Aws::S3::Client.new(region: 'us-west-2') s3.create_bucket(bucket: 'bucket-name')

他の AWS SDK の使用

他の AWS SDK の使用については、サンプルコードとライブラリのページを参照してください。