

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

# Eliminazione di un singolo oggetto
<a name="delete-objects"></a>

Puoi utilizzare la console di Amazon S3 o l'API DELETE per eliminare un singolo oggetto esistente da un bucket S3. Per ulteriori informazioni su come eliminare gli oggetti in Amazon S3, consulta [Eliminazione di oggetti Amazon S3](DeletingObjects.md).

Tutti gli oggetti nel bucket S3 sono soggetti a costi di storage. È pertanto necessario eliminare quelli di cui non si ha più bisogno. Se ad esempio si esegue la raccolta di file di log, è una buona idea eliminarli quando non sono più necessari. È possibile impostare una regola del ciclo di vita per eliminare automaticamente oggetti come i file di log. Per ulteriori informazioni, consulta [Impostazione di una configurazione del ciclo di vita S3 in un bucket](how-to-set-lifecycle-configuration-intro.md).

Per informazioni sulle funzionalità e sui prezzi di Amazon S3, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing).

## Utilizzo della console S3
<a name="delete-object-console"></a>

Segui questi passaggi per utilizzare la console di Amazon S3 per eliminare un singolo oggetto da un bucket.

**avvertimento**  
Quando si elimina definitivamente un oggetto o una versione specifica di un oggetto nella console Amazon S3, l'eliminazione non può essere annullata.

**Per eliminare un oggetto con controllo delle versioni abilitato o sospeso**
**Nota**  
 Se l'ID della versione di un oggetto in un bucket con controllo delle versioni sospeso è contrassegnato come `NULL`, S3 elimina definitivamente l'oggetto poiché non esistono versioni precedenti. Tuttavia, se viene elencato un ID di versione valido per l'oggetto in un bucket con controllo delle versioni sospeso, S3 crea un marcatore di cancellazione per l'oggetto eliminato, mantenendo le versioni precedenti dell'oggetto. 

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione a sinistra, scegli **Bucket per uso generico** o **Bucket di directory**.

1. Nell’elenco dei bucket scegli il nome del bucket dal quale desideri eliminare un oggetto.

1. Seleziona l'oggetto e scegli **Elimina**.

1. Per confermare l'eliminazione dell'elenco degli oggetti in **Oggetti specificati**, nella casella di testo **Eliminare gli oggetti?** immetti **delete**.

**Per eliminare definitivamente una versione specifica dell'oggetto in un bucket con controllo delle versioni abilitato**
**avvertimento**  
Quando si elimina definitivamente una versione specifica di un oggetto in Amazon S3, l'eliminazione non può essere annullata.

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nell'elenco **Bucket name (Nome bucket)** scegliere il nome del bucket dal quale si desidera eliminare un oggetto.

1. Seleziona l'oggetto da eliminare.

1. Scegli il pulsante **Mostra versioni**.

1. Seleziona la versione dell'oggetto e scegli **Elimina**.

1. Per confermare l'eliminazione permanente delle versioni specifiche degli oggetti elencati in **Oggetti specificati**, nella casella di testo **Eliminare gli oggetti?** immetti **Elimina definitivamente**. Amazon S3 elimina definitivamente la versione specifica dell'oggetto.

**Per eliminare definitivamente un oggetto in un bucket Amazon S3 che *non* ha il controllo delle versioni abilitato**
**avvertimento**  
Quando si elimina definitivamente un oggetto in Amazon S3, l'eliminazione non può essere annullata. Inoltre, per tutti i bucket che non hanno il controllo delle versioni abilitato, le cancellazioni sono permanenti.

1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione sinistro, scegli **Bucket per uso generico**.

1. Nell’elenco dei bucket scegli il nome del bucket dal quale desideri eliminare un oggetto.

1. Seleziona l'oggetto e scegli **Elimina**.

1. Per confermare l'eliminazione definitiva dell'oggetto elencato in **Oggetti specificati**, nella casella di testo **Eliminare gli oggetti?** immetti **Elimina definitivamente**.

**Nota**  
Se si verificano problemi con l'eliminazione dell'oggetto, consulta [Voglio eliminare definitivamente gli oggetti con il controllo delle versioni abilitato](troubleshooting-versioning.md#delete-objects-permanent).

## Usando il AWS CLI
<a name="delete-object-cli"></a>



Per eliminare un oggetto per richiesta, utilizza l'API `DELETE`. Per ulteriori informazioni, consulta [DELETE Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html). Per ulteriori informazioni sull'utilizzo della CLI per eliminare un oggetto, consulta la sezione [delete-object](https://awscli.amazonaws.com/v2/documentation/api/2.0.34/reference/s3api/delete-object.html).

# Utilizzo di REST API
<a name="DeletingAnObjectsUsingREST"></a>

È possibile utilizzare il AWS SDKs per eliminare un oggetto. Tuttavia, se l'applicazione lo richiede, è possibile inviare richieste REST direttamente. Per ulteriori informazioni, consulta [DELETE Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*. 

## Utilizzando il AWS SDKs
<a name="DeletingOneObject"></a>

Gli esempi seguenti mostrano come utilizzare il AWS SDKs per eliminare un oggetto da un bucket. Per ulteriori informazioni, consulta [DELETE Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*.

Se hai la funzione Controllo delle versioni S3 abilitata sul bucket, sono disponibili le seguenti opzioni:
+ Eliminazione di una versione specifica di un oggetto specificando un ID versione.
+ Elimina un oggetto senza specificare l'ID versione, nel cui caso Amazon S3 aggiunge un contrassegno di eliminazione all'oggetto.

Per ulteriori informazioni sulla funzionalità Controllo delle versioni S3, consulta [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md). 

Per ulteriori esempi ed esempi in altre lingue, consulta [Uso `DeleteObject` con un AWS SDK o una CLI](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_DeleteObject_section.html) nel riferimento all'API *Amazon S3*.

------
#### [ Java ]

Per eliminare oggetti utilizzando l' AWS SDK for Java, puoi eliminare oggetti sia dai bucket con versione che senza versione:
+ *Bucket senza controllo delle versioni*: nella richiesta di eliminazione, si specifica solo la chiave dell’oggetto e non un ID versione.
+ *Bucket con controllo delle versioni*: elimina una specifica versione dell’oggetto, indicando il nome della chiave dell’oggetto e l’ID versione. Se non sono disponibili altre versioni dell'oggetto, Amazon S3 elimina l'oggetto interamente. In caso contrario, Amazon S3 elimina solo la versione specificata.
**Nota**  
È possibile ottenere la versione IDs di un oggetto inviando una richiesta. `ListVersions`

Per esempi su come eliminare un singolo oggetto con l' AWS SDK for Java, [consulta Eliminare un](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_DeleteObject_section.html) oggetto nell'*Amazon S3 API Reference*.

------
#### [ .NET ]

Gli esempi seguenti mostrano come eliminare un oggetto sia da bucket con versione sia da bucket senza versione. Per ulteriori informazioni sulla funzione Controllo delle versioni S3, consulta [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md). 

**Example Eliminazione di un oggetto da un bucket senza versione**  
Nell'esempio di codice C\$1 seguente viene eliminato un oggetto da un bucket senza versione. L'esempio presuppone che gli oggetti non abbiano una versione IDs, quindi non viene specificata la versione. IDs Specifichi solo la chiave dell'oggetto.   
Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta [Getting Started with the AWS SDK for .NET nella AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET *Developer Guide*.   

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class DeleteObjectNonVersionedBucketTest
    {
        private const string bucketName = "*** bucket name ***"; 
        private const string keyName = "*** object key ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;

        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            DeleteObjectNonVersionedBucketAsync().Wait();
        }
        private static async Task DeleteObjectNonVersionedBucketAsync()
        {
            try
            {
                var deleteObjectRequest = new DeleteObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName
                };

                Console.WriteLine("Deleting an object");
                await client.DeleteObjectAsync(deleteObjectRequest);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when deleting an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when deleting an object", e.Message);
            }
        }
    }
}
```

**Example Eliminazione di un oggetto da un bucket con versione**  
Nell'esempio C\$1 seguente viene eliminato un oggetto da un bucket con versione. Elimina una specifica versione dell'oggetto, specificando il nome della chiave dell'oggetto e l'ID versione.   
Il codice esegue le attività sotto elencate:  

1. Abilita la funzione Controllo delle versioni S3 su un bucket specificato (se la funzione Versione multiple di S3 è già abilitata, tale operazione non ha effetti).

1. Aggiunge un oggetto campione al bucket. In risposta a questa attività, Amazon S3 restituisce l'ID versione del nuovo oggetto aggiunto. L'esempio utilizza questo ID versione nella richiesta di eliminazione.

1. Elimina l'oggetto campione, specificando sia il nome della chiave dell'oggetto sia un ID versione.
**Nota**  
È possibile ottenere l'ID versione di un oggetto anche inviando una richiesta `ListVersions`.  

   ```
   var listResponse = client.ListVersions(new ListVersionsRequest { BucketName = bucketName, Prefix = keyName }); 
   ```
Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta [Getting Started with the AWS SDK for .NET nella AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET *Developer Guide*.   

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class DeleteObjectVersion
    {
        private const string bucketName = "*** versioning-enabled bucket name ***";
        private const string keyName = "*** Object Key Name ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;

        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            CreateAndDeleteObjectVersionAsync().Wait();
        }

        private static async Task CreateAndDeleteObjectVersionAsync()
        {
            try
            {
                // Add a sample object. 
                string versionID = await PutAnObject(keyName);

                // Delete the object by specifying an object key and a version ID.
                DeleteObjectRequest request = new DeleteObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName,
                    VersionId = versionID
                };
                Console.WriteLine("Deleting an object");
                await client.DeleteObjectAsync(request);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered on server. Message:'{0}' when deleting an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when deleting an object", e.Message);
            }
        }

        static async Task<string> PutAnObject(string objectKey)
        {
            PutObjectRequest request = new PutObjectRequest
            {
                BucketName = bucketName,
                Key = objectKey,
                ContentBody = "This is the content body!"
            };
            PutObjectResponse response = await client.PutObjectAsync(request);
            return response.VersionId;
        }
    }
}
```

------
#### [ PHP ]

Questo esempio mostra come utilizzare le classi della versione 3 di AWS SDK per PHP per eliminare un oggetto da un bucket senza versione. Per informazioni sull'eliminazione di un oggetto da un bucket con versione, consulta [Utilizzo di REST API](DeletingAnObjectsUsingREST.md). 

Per ulteriori informazioni sull'API AWS SDK for Ruby, [AWS vai a SDK for Ruby](https://docs.aws.amazon.com/sdkforruby/api/index.html) - Versione 2.

Nell'esempio PHP seguente viene eliminato un oggetto da un bucket. Poiché questo esempio mostra come eliminare gli oggetti da bucket senza versione, questo fornisce solo il nome bucket e la chiave dell'oggetto (non un ID versione) nella richiesta di eliminazione. 

```
<?php

require 'vendor/autoload.php';

use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;

$bucket = '*** Your Bucket Name ***';
$keyname = '*** Your Object Key ***';

$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'us-east-1'
]);

// 1. Delete the object from the bucket.
try
{
    echo 'Attempting to delete ' . $keyname . '...' . PHP_EOL;

    $result = $s3->deleteObject([
        'Bucket' => $bucket,
        'Key'    => $keyname
    ]);

    if ($result['DeleteMarker'])
    {
        echo $keyname . ' was deleted or does not exist.' . PHP_EOL;
    } else {
        exit('Error: ' . $keyname . ' was not deleted.' . PHP_EOL);
    }
}
catch (S3Exception $e) {
    exit('Error: ' . $e->getAwsErrorMessage() . PHP_EOL);
}

// 2. Check to see if the object was deleted.
try
{
    echo 'Checking to see if ' . $keyname . ' still exists...' . PHP_EOL;

    $result = $s3->getObject([
        'Bucket' => $bucket,
        'Key'    => $keyname
    ]);

    echo 'Error: ' . $keyname . ' still exists.';
}
catch (S3Exception $e) {
    exit($e->getAwsErrorMessage());
}
```

------
#### [ Javascript ]

```
import { DeleteObjectCommand } from "@aws-sdk/client-s3";
import { s3Client } from "./libs/s3Client.js" // Helper function that creates Amazon S3 service client module.

export const bucketParams = { Bucket: "BUCKET_NAME", Key: "KEY" };

export const run = async () => {
  try {
    const data = await s3Client.send(new DeleteObjectCommand(bucketParams));
    console.log("Success. Object deleted.", data);
    return data; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

------