

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Buckets erstellen, auflisten und löschen
<a name="examples-s3-buckets"></a>

Jedes *Objekt* oder jede Datei in Amazon Simple Storage Service (Amazon S3) ist in einem *Bucket* enthalten, der einen Ordner mit Objekten darstellt. Jeder Bucket hat einen Namen, der innerhalb eines Buckets weltweit einzigartig ist AWS. Weitere Informationen finden Sie unter [Arbeiten mit Amazon S3 S3-Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html) im Amazon Simple Storage Service-Benutzerhandbuch.

## Voraussetzungen
<a name="codeExamplePrereq"></a>

Bevor Sie beginnen, empfehlen wir Ihnen, [Erste Schritte mit dem AWS SDK für C\$1\$1 zu](getting-started.md) lesen. 

Laden Sie den Beispielcode herunter und erstellen Sie die Lösung wie unter beschrieben[Erste Schritte mit Codebeispielen](getting-started-code-examples.md). 

Um die Beispiele ausführen zu können, muss das Benutzerprofil, das Ihr Code für die Anfragen verwendet, über die entsprechenden Berechtigungen verfügen AWS (für den Dienst und die Aktion). Weitere Informationen finden Sie unter [Bereitstellen von AWS Anmeldeinformationen](credentials.md).

## Buckets auflisten
<a name="list-buckets"></a>

Um das `list_buckets` Beispiel auszuführen, navigieren Sie an einer Befehlszeile zu dem Ordner, in dem Ihr Build-System Ihre ausführbaren Build-Dateien erstellt. Führen Sie die ausführbare Datei wie folgt aus `run_list_buckets` (der vollständige Dateiname der ausführbaren Datei hängt von Ihrem Betriebssystem ab). In der Ausgabe werden die Buckets Ihres Kontos aufgeführt, falls Sie welche haben, oder es wird eine leere Liste angezeigt, wenn Sie keine Buckets haben.

Darin gibt `list_buckets.cpp` es zwei Methoden.
+ `main()`Anrufe`ListBuckets()`. 
+ `ListBuckets()`verwendet das SDK, um Ihre Buckets abzufragen.

Das `S3Client` Objekt ruft die `ListBuckets()` Methode des SDK auf. Bei Erfolg gibt die Methode ein `ListBucketOutcome` Objekt zurück, das ein `ListBucketResult` Objekt enthält. Das `ListBucketResult` Objekt ruft die `GetBuckets()` Methode auf, um eine Liste von `Bucket` Objekten abzurufen, die Informationen zu jedem Amazon S3 S3-Bucket in Ihrem Konto enthalten.

 **Code** 

```
bool AwsDoc::S3::listBuckets(const Aws::S3::S3ClientConfiguration &clientConfig) {
    Aws::S3::S3Client client(clientConfig);

    auto outcome = client.ListBuckets();

    bool result = true;
    if (!outcome.IsSuccess()) {
        std::cerr << "Failed with error: " << outcome.GetError() << std::endl;
        result = false;
    } else {
        std::cout << "Found " << outcome.GetResult().GetBuckets().size() << " buckets\n";
        for (auto &&b: outcome.GetResult().GetBuckets()) {
            std::cout << b.GetName() << std::endl;
        }
    }

    return result;
}
```

Das vollständige [list\$1buckets-Beispiel finden Sie auf Github](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/list_buckets.cpp).

## Erstellen eines -Buckets
<a name="create-bucket"></a>



Um das `create_bucket` Beispiel auszuführen, navigieren Sie an einer Befehlszeile zu dem Ordner, in dem Ihr Build-System Ihre ausführbaren Build-Dateien erstellt. Führen Sie die ausführbare Datei wie folgt aus `run_create_bucket` (der vollständige Dateiname der ausführbaren Datei hängt von Ihrem Betriebssystem ab). Der Code erstellt einen leeren Bucket unter Ihrem Konto und zeigt dann an, ob die Anfrage erfolgreich war oder nicht.

`create_bucket.cpp`In gibt es zwei Methoden. 
+ `main()`Anrufe`CreateBucket()`. `main()`In müssen Sie die AWS-Region Region Ihres Kontos ändern, indem Sie die verwenden`enum`. Sie können die Region Ihres Kontos einsehen [AWS-Managementkonsole](https://console.aws.amazon.com/), indem Sie sich bei anmelden und die Region in der oberen rechten Ecke suchen. 
+ `CreateBucket()`verwendet das SDK, um einen Bucket zu erstellen. 



Das `S3Client` Objekt ruft die `CreateBucket()` Methode des SDK auf und übergibt eine `CreateBucketRequest` mit dem Namen des Buckets. Standardmäßig werden Buckets in der Region *us-east-1* (Nord-Virginia) erstellt. Wenn Ihre Region nicht *us-east-1* ist, richtet der Code eine Bucket-Einschränkung ein, um sicherzustellen, dass der Bucket in Ihrer Region erstellt wird.

 **Code** 

```
bool AwsDoc::S3::createBucket(const Aws::String &bucketName,
                              const Aws::S3::S3ClientConfiguration &clientConfig) {
    Aws::S3::S3Client client(clientConfig);
    Aws::S3::Model::CreateBucketRequest request;
    request.SetBucket(bucketName);

    if (clientConfig.region != "us-east-1") {
        Aws::S3::Model::CreateBucketConfiguration createBucketConfig;
        createBucketConfig.SetLocationConstraint(
                Aws::S3::Model::BucketLocationConstraintMapper::GetBucketLocationConstraintForName(
                        clientConfig.region));
        request.SetCreateBucketConfiguration(createBucketConfig);
    }

    Aws::S3::Model::CreateBucketOutcome outcome = client.CreateBucket(request);
    if (!outcome.IsSuccess()) {
        auto err = outcome.GetError();
        std::cerr << "Error: createBucket: " <<
                  err.GetExceptionName() << ": " << err.GetMessage() << std::endl;
    } else {
        std::cout << "Created bucket " << bucketName <<
                  " in the specified AWS Region." << std::endl;
    }

    return outcome.IsSuccess();
}
```

Das vollständige [create\$1buckets-Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/create_bucket.cpp) finden Sie auf Github.

## Löschen eines -Buckets
<a name="delete-bucket"></a>



Um das `delete_bucket` Beispiel auszuführen, navigieren Sie an einer Befehlszeile zu dem Ordner, in dem Ihr Build-System Ihre ausführbaren Build-Dateien erstellt. Führen Sie die ausführbare Datei wie folgt aus `run_delete_bucket` (der vollständige Dateiname der ausführbaren Datei hängt von Ihrem Betriebssystem ab). Der Code löscht den angegebenen Bucket in Ihrem Konto und zeigt dann an, ob die Anfrage erfolgreich war oder nicht.

Darin `delete_bucket.cpp` gibt es zwei Methoden. 
+ `main()`ruft an`DeleteBucket()`. `main()`In müssen Sie die AWS-Region Region Ihres Kontos ändern, indem Sie die verwenden`enum`. Sie müssen das auch in `bucket_name` den Namen des Buckets ändern, den Sie löschen möchten. 
+ `DeleteBucket()`verwendet das SDK, um den Bucket zu löschen. 



Das `S3Client` Objekt verwendet die `DeleteBucket()` Methode des SDK und übergibt ein `DeleteBucketRequest` Objekt mit dem Namen des zu löschenden Buckets. Der Bucket muss leer sein, um erfolgreich zu sein.

 **Code**

```
bool AwsDoc::S3::deleteBucket(const Aws::String &bucketName,
                              const Aws::S3::S3ClientConfiguration &clientConfig) {

    Aws::S3::S3Client client(clientConfig);

    Aws::S3::Model::DeleteBucketRequest request;
    request.SetBucket(bucketName);

    Aws::S3::Model::DeleteBucketOutcome outcome =
            client.DeleteBucket(request);

    if (!outcome.IsSuccess()) {
        const Aws::S3::S3Error &err = outcome.GetError();
        std::cerr << "Error: deleteBucket: " <<
                  err.GetExceptionName() << ": " << err.GetMessage() << std::endl;
    } else {
        std::cout << "The bucket was deleted" << std::endl;
    }

    return outcome.IsSuccess();
}
```

Das vollständige [delete\$1bucket-Beispiel](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/delete_bucket.cpp) finden Sie auf Github.