메뉴
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에 요청을 보내서 클라이언트 생성 시 지정된 리전에 버킷을 생성합니다.

      참고

      버킷 생성 요청에 클라이언트 생성 시 지정한 리전과 충돌하는 리전을 지정할 경우, 오류가 발생할 수 있습니다. 자세한 내용은 버킷 생성단원을 참조하십시오.

      SDK 라이브러리는 버킷 PUT 요청을 Amazon S3(PUT Bucket 참조)에 보내 버킷을 생성합니다.

  • 버킷 위치 정보를 가져옵니다. Amazon S3는 버킷과 연결된 location 하위 리소스에 버킷 위치 정보를 저장합니다. SDK 라이브러리는 GET 버킷 위치 요청(GET 버킷 위치 참조)을 보내 이 정보를 가져옵니다.

Amazon S3 콘솔 사용

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

Using the AWS SDK for Java

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

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

Using the AWS SDK for .NET

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

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); } } } } }

Ruby 버전 3용 AWS SDK 사용

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

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

다른 AWS SDK 사용

다른 AWS SDK 사용에 대한 자세한 내용은 샘플 코드 및 라이브러리 단원을 참조하십시오.