Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Eliminazione di un singolo oggetto

Modalità Focus
Eliminazione di un singolo oggetto - Amazon Simple Storage Service

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

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

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 .

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.

Per informazioni sulle funzionalità e sui prezzi di Amazon S3, consulta Prezzi di Amazon S3.

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 AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel riquadro di navigazione a sinistra, scegli Bucket per uso generico o Bucket Directory.

  3. Nell'elenco dei desideri, scegli il nome del bucket da cui desideri eliminare un oggetto.

  4. Seleziona l'oggetto e scegli Elimina.

  5. 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 AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

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

  3. Seleziona l'oggetto da eliminare.

  4. Scegli il pulsante Mostra versioni.

  5. Seleziona la versione dell'oggetto e scegli Elimina.

  6. 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 AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

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

  3. Nell'elenco dei desideri, scegli il nome del bucket da cui desideri eliminare un oggetto.

  4. Seleziona l'oggetto e scegli Elimina.

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

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 AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

  2. Nel riquadro di navigazione a sinistra, scegli Bucket per uso generico o Bucket Directory.

  3. Nell'elenco dei desideri, scegli il nome del bucket da cui desideri eliminare un oggetto.

  4. Seleziona l'oggetto e scegli Elimina.

  5. 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 AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

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

  3. Seleziona l'oggetto da eliminare.

  4. Scegli il pulsante Mostra versioni.

  5. Seleziona la versione dell'oggetto e scegli Elimina.

  6. 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 AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

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

  3. Nell'elenco dei desideri, scegli il nome del bucket da cui desideri eliminare un oggetto.

  4. Seleziona l'oggetto e scegli Elimina.

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

Per eliminare un oggetto per richiesta, utilizza l'API DELETE. Per ulteriori informazioni, consulta DELETE Object. Per ulteriori informazioni sull'utilizzo della CLI per eliminare un oggetto, consulta la sezione delete-object.

Per eliminare un oggetto per richiesta, utilizza l'API DELETE. Per ulteriori informazioni, consulta DELETE Object. Per ulteriori informazioni sull'utilizzo della CLI per eliminare un oggetto, consulta la sezione delete-object.

È 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 nella Documentazione di riferimento delle API di Amazon Simple Storage Service.

È 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 nella Documentazione di riferimento delle API di Amazon Simple Storage Service.

Gli esempi seguenti mostrano come utilizzare il AWS SDKs per eliminare un oggetto da un bucket. Per ulteriori informazioni, consulta DELETE Object 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.

Java
Esempio 1: Eliminazione di un oggetto (bucket senza versione)

L'esempio seguente presuppone che il bucket non sia abilitato al controllo delle versioni e che l'oggetto non abbia alcuna versione. IDs Nella richiesta di eliminazione, si specifica solo la chiave dell'oggetto e non un ID versione.

Per istruzioni su come creare e testare un esempio funzionante, consulta Getting Started nella Developer Guide. AWS SDK for Java

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.DeleteObjectRequest; import java.io.IOException; public class DeleteObjectNonVersionedBucket { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Key name ****"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); s3Client.deleteObject(new DeleteObjectRequest(bucketName, keyName)); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
Esempio 2: Eliminazione di un oggetto (bucket con versione)

Nell'esempio seguente viene eliminato un oggetto da un bucket con versione. L'esempio elimina una specifica versione dell'oggetto, specificando il nome della chiave dell'oggetto e l'ID versione.

Inoltre, vengono effettuate le seguenti operazioni:

  1. Aggiunge un oggetto campione al bucket. Amazon S3 restituisce l'ID versione del nuovo oggetto aggiunto. L'esempio utilizza questo ID versione nella richiesta di eliminazione.

  2. Elimina la versione dell'oggetto, specificando sia il nome della chiave dell'oggetto sia un 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 ListVersions richiesta.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketVersioningConfiguration; import com.amazonaws.services.s3.model.DeleteVersionRequest; import com.amazonaws.services.s3.model.PutObjectResult; import java.io.IOException; public class DeleteObjectVersionEnabledBucket { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Key name ****"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); // Check to ensure that the bucket is versioning-enabled. String bucketVersionStatus = s3Client.getBucketVersioningConfiguration(bucketName).getStatus(); if (!bucketVersionStatus.equals(BucketVersioningConfiguration.ENABLED)) { System.out.printf("Bucket %s is not versioning-enabled.", bucketName); } else { // Add an object. PutObjectResult putResult = s3Client.putObject(bucketName, keyName, "Sample content for deletion example."); System.out.printf("Object %s added to bucket %s\n", keyName, bucketName); // Delete the version of the object that we just created. System.out.println("Deleting versioned object " + keyName); s3Client.deleteVersion(new DeleteVersionRequest(bucketName, keyName, putResult.getVersionId())); System.out.printf("Object %s, version %s deleted\n", keyName, putResult.getVersionId()); } } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.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.

Esempio Eliminazione di un oggetto da un bucket senza versione

Nell'esempio di codice C# 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 .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); } } } }
Esempio Eliminazione di un oggetto da un bucket con versione

Nell'esempio C# 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).

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

  3. 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 .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 for 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.

Per ulteriori informazioni sull'API AWS SDK for Ruby, AWS vai a SDK for Ruby - 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();

Gli esempi seguenti mostrano come utilizzare il AWS SDKs per eliminare un oggetto da un bucket. Per ulteriori informazioni, consulta DELETE Object 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.

Java
Esempio 1: Eliminazione di un oggetto (bucket senza versione)

L'esempio seguente presuppone che il bucket non sia abilitato al controllo delle versioni e che l'oggetto non abbia alcuna versione. IDs Nella richiesta di eliminazione, si specifica solo la chiave dell'oggetto e non un ID versione.

Per istruzioni su come creare e testare un esempio funzionante, consulta Getting Started nella Developer Guide. AWS SDK for Java

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.DeleteObjectRequest; import java.io.IOException; public class DeleteObjectNonVersionedBucket { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Key name ****"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); s3Client.deleteObject(new DeleteObjectRequest(bucketName, keyName)); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
Esempio 2: Eliminazione di un oggetto (bucket con versione)

Nell'esempio seguente viene eliminato un oggetto da un bucket con versione. L'esempio elimina una specifica versione dell'oggetto, specificando il nome della chiave dell'oggetto e l'ID versione.

Inoltre, vengono effettuate le seguenti operazioni:

  1. Aggiunge un oggetto campione al bucket. Amazon S3 restituisce l'ID versione del nuovo oggetto aggiunto. L'esempio utilizza questo ID versione nella richiesta di eliminazione.

  2. Elimina la versione dell'oggetto, specificando sia il nome della chiave dell'oggetto sia un 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 ListVersions richiesta.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketVersioningConfiguration; import com.amazonaws.services.s3.model.DeleteVersionRequest; import com.amazonaws.services.s3.model.PutObjectResult; import java.io.IOException; public class DeleteObjectVersionEnabledBucket { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Key name ****"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); // Check to ensure that the bucket is versioning-enabled. String bucketVersionStatus = s3Client.getBucketVersioningConfiguration(bucketName).getStatus(); if (!bucketVersionStatus.equals(BucketVersioningConfiguration.ENABLED)) { System.out.printf("Bucket %s is not versioning-enabled.", bucketName); } else { // Add an object. PutObjectResult putResult = s3Client.putObject(bucketName, keyName, "Sample content for deletion example."); System.out.printf("Object %s added to bucket %s\n", keyName, bucketName); // Delete the version of the object that we just created. System.out.println("Deleting versioned object " + keyName); s3Client.deleteVersion(new DeleteVersionRequest(bucketName, keyName, putResult.getVersionId())); System.out.printf("Object %s, version %s deleted\n", keyName, putResult.getVersionId()); } } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.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.

Esempio Eliminazione di un oggetto da un bucket senza versione

Nell'esempio di codice C# 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 .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); } } } }
Esempio Eliminazione di un oggetto da un bucket con versione

Nell'esempio C# 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).

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

  3. 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 .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 for 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.

Per ulteriori informazioni sull'API AWS SDK for Ruby, AWS vai a SDK for Ruby - 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();
Esempio 1: Eliminazione di un oggetto (bucket senza versione)

L'esempio seguente presuppone che il bucket non sia abilitato al controllo delle versioni e che l'oggetto non abbia alcuna versione. IDs Nella richiesta di eliminazione, si specifica solo la chiave dell'oggetto e non un ID versione.

Per istruzioni su come creare e testare un esempio funzionante, consulta Getting Started nella Developer Guide. AWS SDK for Java

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.DeleteObjectRequest; import java.io.IOException; public class DeleteObjectNonVersionedBucket { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Key name ****"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); s3Client.deleteObject(new DeleteObjectRequest(bucketName, keyName)); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
Esempio 2: Eliminazione di un oggetto (bucket con versione)

Nell'esempio seguente viene eliminato un oggetto da un bucket con versione. L'esempio elimina una specifica versione dell'oggetto, specificando il nome della chiave dell'oggetto e l'ID versione.

Inoltre, vengono effettuate le seguenti operazioni:

  1. Aggiunge un oggetto campione al bucket. Amazon S3 restituisce l'ID versione del nuovo oggetto aggiunto. L'esempio utilizza questo ID versione nella richiesta di eliminazione.

  2. Elimina la versione dell'oggetto, specificando sia il nome della chiave dell'oggetto sia un 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 ListVersions richiesta.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketVersioningConfiguration; import com.amazonaws.services.s3.model.DeleteVersionRequest; import com.amazonaws.services.s3.model.PutObjectResult; import java.io.IOException; public class DeleteObjectVersionEnabledBucket { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; String keyName = "*** Key name ****"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); // Check to ensure that the bucket is versioning-enabled. String bucketVersionStatus = s3Client.getBucketVersioningConfiguration(bucketName).getStatus(); if (!bucketVersionStatus.equals(BucketVersioningConfiguration.ENABLED)) { System.out.printf("Bucket %s is not versioning-enabled.", bucketName); } else { // Add an object. PutObjectResult putResult = s3Client.putObject(bucketName, keyName, "Sample content for deletion example."); System.out.printf("Object %s added to bucket %s\n", keyName, bucketName); // Delete the version of the object that we just created. System.out.println("Deleting versioned object " + keyName); s3Client.deleteVersion(new DeleteVersionRequest(bucketName, keyName, putResult.getVersionId())); System.out.printf("Object %s, version %s deleted\n", keyName, putResult.getVersionId()); } } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.