

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creare, elencare ed eliminare i bucket
<a name="examples-s3-buckets"></a>

Ogni *oggetto* o file in Amazon Simple Storage Service (Amazon S3) è contenuto in *un bucket, che rappresenta una* cartella di oggetti. Ogni bucket ha al suo interno un nome univoco a livello globale. AWS Per ulteriori informazioni, consulta [Lavorare con i bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html) nella Guida per l'utente di Amazon Simple Storage Service.

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

Prima di iniziare, ti consigliamo di leggere la [Guida introduttiva all'uso](getting-started.md) di. AWS SDK per C\$1\$1

Scarica il codice di esempio e crea la soluzione come descritto in[Guida introduttiva agli esempi di codice](getting-started-code-examples.md). 

Per eseguire gli esempi, il profilo utente utilizzato dal codice per effettuare le richieste deve disporre delle autorizzazioni appropriate AWS (per il servizio e l'azione). Per ulteriori informazioni, vedere [Fornitura di AWS credenziali](credentials.md).

## Elenco di bucket
<a name="list-buckets"></a>

Per eseguire l'`list_buckets`esempio, al prompt dei comandi, accedi alla cartella in cui il sistema di compilazione crea i file eseguibili della build. Esegui l'eseguibile come `run_list_buckets` segue (il nome del file eseguibile completo sarà diverso in base al sistema operativo). L'output elenca i bucket del tuo account, se ne hai, oppure visualizza un elenco vuoto se non ne hai.

Nel`list_buckets.cpp`, ci sono due metodi.
+ `main()`chiamate`ListBuckets()`. 
+ `ListBuckets()`utilizza l'SDK per interrogare i bucket.

L'`S3Client`oggetto chiama il metodo dell'SDK. `ListBuckets()` In caso di successo, il metodo restituisce un `ListBucketOutcome` oggetto che contiene un `ListBucketResult` oggetto. L'`ListBucketResult`oggetto chiama il `GetBuckets()` metodo per ottenere un elenco di `Bucket` oggetti che contengono informazioni su ogni bucket Amazon S3 nel tuo account.

 **Codice** 

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

Guarda l'esempio completo di [list\$1buckets](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/list_buckets.cpp) su Github.

## Creazione di un bucket
<a name="create-bucket"></a>



Per eseguire l'`create_bucket`esempio, al prompt dei comandi, accedi alla cartella in cui il tuo sistema di compilazione crea i file eseguibili della build. Esegui l'eseguibile come `run_create_bucket` segue (il nome del file eseguibile completo sarà diverso in base al sistema operativo). Il codice crea un bucket vuoto nel tuo account e quindi mostra l'esito positivo o negativo della richiesta.

Nel`create_bucket.cpp`, ci sono due metodi. 
+ `main()`chiamate`CreateBucket()`. Nel`main()`, devi passare Regione AWS alla regione del tuo account utilizzando`enum`. Puoi visualizzare la regione del tuo account accedendo a e individuando la [Console di gestione AWS](https://console.aws.amazon.com/)regione nell'angolo in alto a destra. 
+ `CreateBucket()`utilizza l'SDK per creare un bucket. 



L'`S3Client`oggetto chiama il `CreateBucket()` metodo dell'SDK, passando un `CreateBucketRequest` con il nome del bucket. Per impostazione predefinita, i bucket vengono creati nella regione *us-east-1* (Virginia settentrionale). Se la tua regione non è *us-east-1*, il codice imposta un vincolo bucket per garantire che il bucket venga creato nella tua regione.

 **Codice** 

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

[Guarda l'esempio completo di create\$1buckets su Github.](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/create_bucket.cpp)

## Eliminazione di un bucket
<a name="delete-bucket"></a>



Per eseguire l'`delete_bucket`esempio, al prompt dei comandi, accedi alla cartella in cui il tuo sistema di compilazione crea i file eseguibili della build. Esegui l'eseguibile come `run_delete_bucket` segue (il nome del file eseguibile completo sarà diverso in base al sistema operativo). Il codice elimina il bucket specificato nel tuo account e quindi mostra l'esito positivo o negativo della richiesta.

`delete_bucket.cpp`Esistono due metodi. 
+ `main()`chiamate`DeleteBucket()`. Nel`main()`, devi passare Regione AWS alla regione del tuo account utilizzando`enum`. È inoltre necessario `bucket_name` modificare il nome del bucket da eliminare. 
+ `DeleteBucket()`utilizza l'SDK per eliminare il bucket. 



L'`S3Client`oggetto utilizza il `DeleteBucket()` metodo dell'SDK, passando un `DeleteBucketRequest` oggetto con il nome del bucket da eliminare. Il bucket deve essere vuoto per avere successo.

 **Codice**

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

Guarda l'esempio completo di [delete\$1bucket](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/delete_bucket.cpp) su Github.