

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création, mise en liste et suppression de buckets
<a name="examples-s3-buckets"></a>

Chaque *objet* ou fichier d'Amazon Simple Storage Service (Amazon S3) est contenu dans *un bucket, qui représente un* dossier d'objets. Chaque compartiment possède un nom unique au monde AWS. Pour plus d'informations, consultez la section [Utilisation des compartiments Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html) dans le guide de l'utilisateur d'Amazon Simple Storage Service.

## Prérequis
<a name="codeExamplePrereq"></a>

Avant de commencer, nous vous recommandons de lire [Commencer à utiliser le AWS SDK pour C\$1\$1](getting-started.md). 

Téléchargez l'exemple de code et créez la solution comme décrit dans[Commencer par des exemples de code](getting-started-code-examples.md). 

Pour exécuter les exemples, le profil utilisateur que votre code utilise pour effectuer les demandes doit disposer des autorisations appropriées AWS (pour le service et l'action). Pour plus d'informations, consultez la section [Fourniture AWS d'informations d'identification](credentials.md).

## Lister les compartiments
<a name="list-buckets"></a>

Pour exécuter cet `list_buckets` exemple, à l'invite de commande, accédez au dossier dans lequel votre système de génération crée vos exécutables de génération. Exécutez l'exécutable comme suit `run_list_buckets` (le nom de fichier complet de votre exécutable sera différent en fonction de votre système d'exploitation). La sortie répertorie les compartiments de votre compte si vous en avez, ou affiche une liste vide si vous n'en avez pas.

Dans`list_buckets.cpp`, il existe deux méthodes.
+ `main()`appels`ListBuckets()`. 
+ `ListBuckets()`utilise le SDK pour interroger vos buckets.

L'`S3Client`objet appelle la `ListBuckets()` méthode du SDK. En cas de succès, la méthode renvoie un `ListBucketOutcome` objet contenant un `ListBucketResult` objet. L'`ListBucketResult`objet appelle la `GetBuckets()` méthode pour obtenir une liste d'`Bucket`objets contenant des informations sur chaque compartiment Amazon S3 de votre compte.

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

Consultez l'[exemple complet de list\$1buckets](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/list_buckets.cpp) sur Github.

## Création d’un compartiment
<a name="create-bucket"></a>



Pour exécuter cet `create_bucket` exemple, à l'invite de commande, accédez au dossier dans lequel votre système de génération crée vos exécutables de génération. Exécutez l'exécutable comme suit `run_create_bucket` (le nom de fichier complet de votre exécutable sera différent en fonction de votre système d'exploitation). Le code crée un compartiment vide sous votre compte, puis affiche le succès ou l'échec de la demande.

Dans`create_bucket.cpp`, il existe deux méthodes. 
+ `main()`appels`CreateBucket()`. Dans`main()`, vous devez Région AWS modifier la région de votre compte en utilisant le`enum`. Vous pouvez consulter la région de votre compte en vous connectant au [AWS Management Console](https://console.aws.amazon.com/)et en localisant la région dans le coin supérieur droit. 
+ `CreateBucket()`utilise le SDK pour créer un bucket. 



L'`S3Client`objet appelle la `CreateBucket()` méthode du SDK en transmettant un `CreateBucketRequest` avec le nom du compartiment. Par défaut, les buckets sont créés dans la région *us-east-1 (Virginie* du Nord). Si votre région n'est pas *us-east-1*, le code définit une contrainte de compartiment pour garantir que le compartiment est créé dans votre région.

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

Consultez l'[exemple complet de create\$1buckets](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/create_bucket.cpp) sur Github.

## Supprimer un compartiment
<a name="delete-bucket"></a>



Pour exécuter cet `delete_bucket` exemple, à l'invite de commande, accédez au dossier dans lequel votre système de génération crée vos exécutables de génération. Exécutez l'exécutable comme suit `run_delete_bucket` (le nom de fichier complet de votre exécutable sera différent en fonction de votre système d'exploitation). Le code supprime le compartiment spécifié dans votre compte, puis affiche le succès ou l'échec de la demande.

`delete_bucket.cpp`Il existe deux méthodes. 
+ `main()`appels`DeleteBucket()`. Dans`main()`, vous devez Région AWS modifier la région de votre compte en utilisant le`enum`. Vous devez également `bucket_name` remplacer le nom du compartiment à supprimer. 
+ `DeleteBucket()`utilise le SDK pour supprimer le compartiment. 



L'`S3Client`objet utilise la `DeleteBucket()` méthode du SDK, en transmettant un `DeleteBucketRequest` objet portant le nom du compartiment à supprimer. Le compartiment doit être vide pour que cela fonctionne.

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

Consultez l'[exemple complet de delete\$1bucket](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/delete_bucket.cpp) sur Github.