Amazon Simple Storage Service
Entwicklerhandbuch (API-Version 2006-03-01)

Beispiel zum Erstellen eines Buckets

Die folgenden Codebeispiele erstellen einen Bucket programmgesteuert mit den AWS SDKs for Java, .NET und Ruby. Das Codebeispiel führt die folgenden Aufgaben durch:

  • Erstellen eines Buckets, sofern noch keiner vorhanden ist – Das Beispiel erstellt einen Bucket durch Ausführen der folgenden Aufgaben:

    • Erstellen eines Clients durch explizite Angabe einer AWS-Region (das Beispiel verwendet die Region s3-eu-west-1). Dementsprechend kommuniziert der Client unter Verwendung des s3-eu-west-1.amazonaws.com-Endpunkts mit Amazon S3. Sie können eine beliebige andere AWS-Region angeben. Eine Liste der AWS-Regionen finden Sie unter Regionen und Endpunkte in der Allgemeinen AWS-Referenz.

    • Senden einer Bucket-Anforderung, indem nur ein Bucket-Name angegeben wird. die Anforderung zum Erstellen eines Buckets gibt keine andere AWS-Region an. Der Client sendet eine Anforderung an Amazon S3, um den Bucket in der Region zu erstellen, die Sie beim Erstellen des Client angegeben haben. Sobald Sie einen Bucket erstellt haben, können Sie seine Region nicht mehr ändern.

      Anmerkung

      Wenn Sie in der Anforderung zum Erstellen eines Buckets explizit eine AWS-Region angeben, die von der beim Erstellen des Clients angegebenen Region abweicht, wird möglicherweise ein Fehler zurückgegeben. Weitere Informationen finden Sie unter Erstellen eines Buckets.

      Die SDK-Bibliotheken senden die PUT Bucket-Anforderung an Amazon S3, um den Bucket zu erstellen. Weitere Informationen finden Sie unter PUT Bucket.

  • Abrufen von Informationen zum Standort des Buckets – Amazon S3 speichert Informationen zum Standort des Buckets in der Subressource location, die dem Bucket zugeordnet ist. Die SDK-Bibliotheken senden die GET Bucket location-Anforderung (vgl. GET Bucket location), um diese Informationen abzurufen.

Verwenden der Amazon S3-Konsole

Informationen zum Erstellen eines Buckets mit der Amazon S3-Konsole finden Sie unter Wie erstelle ich einen S3-Bucket? im Konsolenbenutzerhandbuch für Amazon Simple Storage Service.

Verwendung von AWS SDK for Java

Dieses Beispiel veranschaulicht, wie Sie einen Amazon S3-Bucket mit AWS SDK for Java erstellen. Anweisungen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Testen der Amazon S3-Java-Codebeispiele.

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

Verwendung von AWS SDK für .NET

Weitere Informationen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Ausführen der Amazon S3 .NET-Codebeispiele.

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

Verwenden des AWS SDK für Ruby Version 3

Weitere Informationen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Verwenden von AWS SDK für Ruby – Version 3.

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

Verwenden anderer AWS SDKs

Weitere Informationen zur Verwendung anderer AWS SDKs finden Sie unter Beispiel-Code und Bibliotheken.