메뉴
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 콘솔을 사용하여 버킷을 생성하려면 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(); } } }

.NET용 AWS SDK 사용

실제 예제를 작성하여 테스트하는 방법에 대한 자세한 내용은 Amazon S3 .NET 코드 예시 실행 단원을 참조하십시오.

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 사용에 대한 자세한 내용은 샘플 코드 및 라이브러리 단원을 참조하십시오.