メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

バケットを作成する例

このセクションでは、AWS SDK for Java、AWS SDK for .NET、および AWS SDK for Ruby を使用して、プログラムでバケットを作成するコード例を示します。このコード例では次のタスクを実行しています。

  • バケットが存在しない場合はバケットを作成します。この例では、次のようにバケットを作成します。

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

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

      注記

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

      SDK ライブラリは、Amazon S3 に PUT bucket リクエストを送信して(「PUT Bucket」を参照)、バケットを作成します。

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

Amazon S3 コンソールの使用

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

Using the AWS SDK for Java

作業サンプルを作成およびテストする方法については、「Java コード例のテスト」を参照してください。

Copy
import java.io.IOException; import com.amazonaws.AmazonClientException; import com.amazonaws.AmazonServiceException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Region; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3Client; import com.amazonaws.services.s3.model.CreateBucketRequest; import com.amazonaws.services.s3.model.GetBucketLocationRequest; public class CreateBucket { private static String bucketName = "*** bucket name ***"; public static void main(String[] args) throws IOException { AmazonS3 s3client = new AmazonS3Client(new ProfileCredentialsProvider()); s3client.setRegion(Region.getRegion(Regions.US_WEST_1)); try { if(!(s3client.doesBucketExist(bucketName))) { // Note that CreateBucketRequest does not specify region. So bucket is // created in the region specified in the client. s3client.createBucket(new CreateBucketRequest( bucketName)); } // Get location. String bucketLocation = s3client.getBucketLocation(new GetBucketLocationRequest(bucketName)); System.out.println("bucket location = " + bucketLocation); } catch (AmazonServiceException ase) { System.out.println("Caught an AmazonServiceException, which " + "means your request made it " + "to Amazon S3, but was rejected with an error response" + " for some reason."); System.out.println("Error Message: " + ase.getMessage()); System.out.println("HTTP Status Code: " + ase.getStatusCode()); System.out.println("AWS Error Code: " + ase.getErrorCode()); System.out.println("Error Type: " + ase.getErrorType()); System.out.println("Request ID: " + ase.getRequestId()); } catch (AmazonClientException ace) { System.out.println("Caught an AmazonClientException, which " + "means the client encountered " + "an internal error while trying to " + "communicate with S3, " + "such as not being able to access the network."); System.out.println("Error Message: " + ace.getMessage()); } } }

AWS SDK for .NET の使用

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

Copy
using System; using Amazon.S3; using Amazon.S3.Model; using Amazon.S3.Util; namespace s3.amazon.com.docsamples { class CreateBucket { static string bucketName = "*** bucket name ***"; public static void Main(string[] args) { using (var client = new AmazonS3Client(Amazon.RegionEndpoint.EUWest1)) { if (!(AmazonS3Util.DoesS3BucketExist(client, bucketName))) { CreateABucket(client); } // Retrieve bucket location. string bucketLocation = FindBucketLocation(client); } Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } static string FindBucketLocation(IAmazonS3 client) { string bucketLocation; GetBucketLocationRequest request = new GetBucketLocationRequest() { BucketName = bucketName }; GetBucketLocationResponse response = client.GetBucketLocation(request); bucketLocation = response.Location.ToString(); return bucketLocation; } static void CreateABucket(IAmazonS3 client) { try { PutBucketRequest putRequest1 = new PutBucketRequest { BucketName = bucketName, UseClientRegion = true }; PutBucketResponse response1 = client.PutBucket(putRequest1); } catch (AmazonS3Exception amazonS3Exception) { if (amazonS3Exception.ErrorCode != null && (amazonS3Exception.ErrorCode.Equals("InvalidAccessKeyId") || amazonS3Exception.ErrorCode.Equals("InvalidSecurity"))) { Console.WriteLine("Check the provided AWS Credentials."); Console.WriteLine( "For service sign up go to http://aws.amazon.com/s3"); } else { Console.WriteLine( "Error occurred. Message:'{0}' when writing an object" , amazonS3Exception.Message); } } } } }

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

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

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

他の AWS SDK の使用

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