메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 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 코드 예제 테스트 단원을 참조하십시오.

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

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

Ruby 버전 3용 AWS SDK 사용

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

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

다른 AWS SDK 사용

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