

La AWS SDK per Java 1.x è stata raggiunta end-of-support il 31 dicembre 2025. Ti consigliamo di eseguire la migrazione a per continuare [AWS SDK for Java 2.x](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html)a ricevere nuove funzionalità, miglioramenti della disponibilità e aggiornamenti di sicurezza.

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à.

# Creazione, elenco ed eliminazione Amazon S3 di bucket
<a name="examples-s3-buckets"></a>

Ogni oggetto (file) contenuto Amazon S3 deve risiedere all'interno di un *bucket*, che rappresenta una raccolta (contenitore) di oggetti. Ogni bucket è conosciuto da una *chiave* (nome), che deve essere univoca. Per informazioni dettagliate sui bucket e sulla loro configurazione, consulta [Lavorare con Amazon S3 i bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html) nella Guida per l' Amazon Simple Storage Service utente.

**Nota**  
Best practice  
Ti consigliamo di abilitare la regola del [AbortIncompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html)ciclo di vita sui tuoi bucket. Amazon S3   
Questa regola impone di interrompere Amazon S3 i caricamenti in più parti che non vengono completati entro un determinato numero di giorni dall'avvio. Quando viene superato il limite di tempo impostato, Amazon S3 interrompe il caricamento e quindi elimina i dati di caricamento incompleti.  
Per ulteriori informazioni, consulta [Lifecycle Configuration for a Bucket with Versioning nella Guida per](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-bucket-with-versioning.html) l'utente. Amazon S3 

**Nota**  
Questi esempi di codice presuppongono che tu abbia compreso il materiale contenuto in [Using the AWS SDK per Java](basics.md) e che tu abbia configurato AWS le credenziali predefinite utilizzando le informazioni contenute in [Configurazione delle AWS credenziali](setup-credentials.md) e Area per lo sviluppo.

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

Utilizza il metodo del client AmazonS3. `createBucket` Il nuovo [Bucket](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Bucket.html) viene restituito. Il `createBucket` metodo genererà un'eccezione se il bucket esiste già.

**Nota**  
Per verificare se esiste già un bucket prima di tentare di crearne uno con lo stesso nome, chiama il metodo. `doesBucketExist` Ritornerà `true` se il bucket esiste e in altro modo. `false`

 **Importazioni** 

```
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AmazonS3Exception;
import com.amazonaws.services.s3.model.Bucket;

import java.util.List;
```

 **Codice** 

```
if (s3.doesBucketExistV2(bucket_name)) {
    System.out.format("Bucket %s already exists.\n", bucket_name);
    b = getBucket(bucket_name);
} else {
    try {
        b = s3.createBucket(bucket_name);
    } catch (AmazonS3Exception e) {
        System.err.println(e.getErrorMessage());
    }
}
return b;
```

Vedi l'[esempio completo](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/CreateBucket.java) su. GitHub

## Creazione di un elenco di bucket
<a name="list-buckets"></a>

Utilizza il metodo del client AmazonS3. `listBucket` In caso di successo, viene restituito un elenco di [Bucket](https://docs.aws.amazon.com/sdk-for-java/v1/reference/com/amazonaws/services/s3/model/Bucket.html).

 **Importazioni** 

```
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.Bucket;

import java.util.List;
```

 **Codice** 

```
List<Bucket> buckets = s3.listBuckets();
System.out.println("Your {S3} buckets are:");
for (Bucket b : buckets) {
    System.out.println("* " + b.getName());
}
```

Vedi l'[esempio completo](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/ListBuckets.java) su. GitHub

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

Prima di poter eliminare un Amazon S3 bucket, devi assicurarti che sia vuoto, altrimenti si verificherà un errore. Se si dispone di un [bucket con versione](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html), è necessario eliminare anche tutti gli oggetti con versione associati al bucket.

**Nota**  
L'[esempio completo](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) include ciascuno di questi passaggi in ordine, fornendo una soluzione completa per l'eliminazione di un bucket e del relativo contenuto. Amazon S3 

**Topics**
+ [Rimuovi oggetti da un bucket senza versione prima di eliminarlo](#remove-objects-from-an-unversioned-bucket-before-deleting-it)
+ [Rimuovi oggetti da un bucket con versione prima di eliminarlo](#remove-objects-from-a-versioned-bucket-before-deleting-it)
+ [Eliminazione di un bucket vuoto](#delete-an-empty-bucket)

### Rimuovi oggetti da un bucket senza versione prima di eliminarlo
<a name="remove-objects-from-an-unversioned-bucket-before-deleting-it"></a>

Utilizza il `listObjects` metodo del client AmazonS3 per recuperare l'elenco di oggetti ed eliminarli ciascuno. `deleteObject`

 **Importazioni** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import java.util.Iterator;
```

 **Codice** 

```
System.out.println(" - removing objects from bucket");
ObjectListing object_listing = s3.listObjects(bucket_name);
while (true) {
    for (Iterator<?> iterator =
         object_listing.getObjectSummaries().iterator();
         iterator.hasNext(); ) {
        S3ObjectSummary summary = (S3ObjectSummary) iterator.next();
        s3.deleteObject(bucket_name, summary.getKey());
    }

    // more object_listing to retrieve?
    if (object_listing.isTruncated()) {
        object_listing = s3.listNextBatchOfObjects(object_listing);
    } else {
        break;
    }
}
```

[Guarda l'esempio completo su.](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) GitHub

### Rimuovi oggetti da un bucket con versione prima di eliminarlo
<a name="remove-objects-from-a-versioned-bucket-before-deleting-it"></a>

Se utilizzi un [bucket con versione](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html), devi anche rimuovere tutte le versioni memorizzate degli oggetti nel bucket prima che il bucket possa essere eliminato.

Utilizzando uno schema simile a quello utilizzato per rimuovere gli oggetti all'interno di un bucket, rimuovi gli oggetti con versione utilizzando il `listVersions` metodo del client AmazonS3 per elencare tutti gli oggetti con versione e quindi eliminarli ciascuno. `deleteVersion`

 **Importazioni** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import java.util.Iterator;
```

 **Codice** 

```
System.out.println(" - removing versions from bucket");
VersionListing version_listing = s3.listVersions(
        new ListVersionsRequest().withBucketName(bucket_name));
while (true) {
    for (Iterator<?> iterator =
         version_listing.getVersionSummaries().iterator();
         iterator.hasNext(); ) {
        S3VersionSummary vs = (S3VersionSummary) iterator.next();
        s3.deleteVersion(
                bucket_name, vs.getKey(), vs.getVersionId());
    }

    if (version_listing.isTruncated()) {
        version_listing = s3.listNextBatchOfVersions(
                version_listing);
    } else {
        break;
    }
}
```

[Guarda l'esempio completo su.](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) GitHub

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

Dopo aver rimosso gli oggetti da un bucket (compresi gli oggetti con versione), puoi eliminare il bucket stesso utilizzando il metodo del client AmazonS3. `deleteBucket`

 **Importazioni** 

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import java.util.Iterator;
```

 **Codice** 

```
System.out.println(" OK, bucket ready to delete!");
s3.deleteBucket(bucket_name);
```

[Guarda l'esempio completo su.](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/java/example_code/s3/src/main/java/aws/example/s3/DeleteBucket.java) GitHub