Exemplos de criação de um bucket - Amazon Simple Storage Service

Exemplos de criação de um bucket

Os exemplos de código a seguir criam um bucket por programação usando os AWS SDKs para Java, .NET e Ruby. Os exemplos de código executam as seguintes tarefas:

  • Criar um bucket, se ele não existir ainda — os exemplos criam um bucket ao executar as seguintes tarefas:

    • Crie um cliente especificando explicitamente uma região da AWS (o exemplo usa a Região s3.eu-west-1). Conforme apropriado, o cliente comunica-se com o Amazon S3 usando o endpoint s3.eu-west-1.amazonaws.com. Você pode especificar qualquer outra região da AWS. Para obter uma lista das regiões da AWS, consulte Regiões e endpoints na Referência geral da AWS.

    • Envie uma solicitação de criação de bucket especificando apenas um nome de bucket. A solicitação de criação de bucket não especifica outra Região da AWS. O cliente envia uma solicitação ao Amazon S3 de criar o bucket na Região que você especificou ao criar o cliente. Assim que você criou um bucket, você não pode alterar sua Região.

      nota

      Se você especificar explicitamente uma região da AWS na solicitação de criação do bucket que é diferente da região especificada ao criar o cliente, poderá obter um erro. Para obter mais informações, consulte Criação de um bucket.

      As bibliotecas de SDK enviam ao Amazon S3 uma solicitação PUT para criar o bucket. Para obter mais informações, consulte PUT Bucket.

  • Recupere as informações sobre a localização do bucket — o Amazon S3 armazena as informações de localização de bucket no sub-recurso local que é associado ao bucket. As bibliotecas de SDK enviam uma solicitação GET Bucket location (consulte GET localização do bucket) para recuperar essas informações.

Usar o console do Amazon S3

Para criar um bucket usando o console do Amazon S3 consulte Como crio um bucket do S3? no Guia do usuário do console do Amazon Simple Storage Service.

Como usar o AWS SDK for Java

Este exemplo mostra como criar um bucket do Amazon S3 usando o AWS SDK for Java. Para obter instruções sobre criar e testar um exemplo funcional, consulte Testar os exemplos de código Java do Amazon S3.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; 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; import java.io.IOException; public class CreateBucket2 { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_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(); } } }

Como usar o AWS SDK para .NET

Para obter informações sobre como criar e testar um exemplo funcional, consulte Executar os exemplos de código .NET do Amazon S3.

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

Uso do AWS SDK para Ruby Versão 3

Para obter informações sobre como criar e testar um exemplo funcional, consulte Usar o AWS SDK para Ruby - versão 3.

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

Uso de outros AWS SDKs

Para obter informações sobre como usar outros AWS SDKs, consulte Código de exemplo e bibliotecas.