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 버킷 위치 요청(GET 버킷 위치 참조)을 보내 이 정보를 가져옵니다.

Amazon S3 콘솔 사용

Amazon S3 콘솔을 사용하여 버킷을 생성하려면 Amazon Simple Storage Service 콘솔 사용 설명서S3 버킷을 생성하려면 어떻게 해야 합니까? 단원을 참조하십시오.

AWS SDK for Java 사용

이 예제에서는 AWS SDK for Java를 사용하여 Amazon S3 버킷을 생성하는 방법을 보여줍니다. 실제 예제를 작성 및 테스트하는 방법에 대한 자세한 내용은 Amazon S3 Java 코드 예제 테스트 단원을 참조하십시오.

// 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.) 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(); } } }

.NET용 AWS SDK 사용

실제 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 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; } } }

Ruby 버전 3용 AWS SDK 사용

실제 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Ruby용 AWS SDK 버전 3 사용 단원을 참조하십시오.

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

다른 AWS SDK 사용

다른 AWS SDK 사용에 대한 자세한 내용은 Sample Code and Libraries 단원을 참조하십시오.