

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.

# Suppression d’un seul objet
<a name="delete-objects"></a>

Vous pouvez utiliser la console Amazon S3 ou l’API DELETE pour supprimer un seul objet existant d’un compartiment S3. Pour plus d’informations sur la suppression d’objets dans Amazon S3, consultez [Suppression d’objets Amazon S3](DeletingObjects.md).

Etant donné que tous les objets dans le compartiment S3 entraînent des coûts de stockage, vous devez supprimer ceux dont vous n’avez plus besoin. Par exemple, si vous collectez des fichiers journaux, vous pouvez les supprimer lorsque vous n’en avez plus besoin. Vous pouvez configurer une règle de cycle de vie pour supprimer automatiquement les objets tels que les fichiers journaux. Pour plus d’informations, consultez [Définition d’une configuration du cycle de vie S3 sur un compartiment](how-to-set-lifecycle-configuration-intro.md).

Pour en savoir plus sur les fonctions et la tarification d'Amazon S3, veuillez consulter [Tarification Amazon S3](https://aws.amazon.com/s3/pricing).

## Utiliser la console S3.
<a name="delete-object-console"></a>

Procédez comme suit pour utiliser la console Amazon S3 pour supprimer un seul objet d’un compartiment.

**Avertissement**  
Lorsque vous supprimez définitivement un objet ou une version d’objet spécifiée dans la console Amazon S3, cette opération est irréversible.

**Pour supprimer un objet pour lequel la gestion des versions est activée ou suspendue**
**Note**  
 Si l’ID de version d’un objet dans un compartiment pour lequel la gestion des versions est suspendue, est marqué comme `NULL`, S3 supprime définitivement l’objet, car il n’existe aucune version précédente. Toutefois, si un ID de version valide est répertorié pour l’objet dans un compartiment pour lequel la gestion des versions est suspendue, S3 crée un marqueur de suppression pour l’objet supprimé, tout en conservant les versions précédentes de l’objet. 

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Compartiments à usage général** ou **Compartiments de répertoires**.

1. Dans la liste des compartiments, choisissez le nom du compartiment dont vous souhaitez supprimer un objet.

1. Sélectionnez l’objet, puis choisissez **Supprimer**.

1. Pour confirmer la suppression de la liste d’objets sous **Objets spécifiés** dans la zone de texte **Supprimer les objets ?**, entrez **delete**.

**Pour supprimer une version d’objet spécifique dans un compartiment pour lequel la gestion des versions est activée**
**Avertissement**  
Lorsque vous supprimez définitivement une version d’objet spécifique dans Amazon S3, cette opération est irréversible.

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans la liste **Nom du compartiment**, choisissez le nom du compartiment à partir duquel vous souhaitez supprimer un objet.

1. Sélectionnez l’objets que vous voulez supprimer.

1. Choisissez le bouton **Afficher les versions**.

1. Sélectionnez la version de l’objet, puis choisissez **Supprimer**.

1. Pour confirmer la suppression définitive des versions d’objets spécifiques répertoriées sous **Objets spécifiés**, dans la zone de texte **Supprimer les objets ?**, entrez **Supprimer définitivement**. Amazon S3 supprime définitivement cette version spécifique de l’objet.

**Pour supprimer définitivement un objet dans un compartiment Amazon S3 pour lequel la gestion des versions *n’est pas* activée**
**Avertissement**  
Lorsque vous supprimez définitivement un objet dans Amazon S3, cette opération est irréversible. De plus, pour tous les compartiments pour lesquels la gestion des versions n’est pas activée, les suppressions sont permanentes.

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Compartiments à usage général**.

1. Dans la liste des compartiments, choisissez le nom du compartiment dont vous souhaitez supprimer un objet.

1. Sélectionnez l’objet, puis choisissez **Supprimer**.

1. Pour confirmer la suppression définitive de l’objet répertorié sous **Objets spécifiés**, dans la zone de texte **Supprimer des objets ?**, entrez **Supprimer définitivement**.

**Note**  
Si vous rencontrez des problèmes lors de la suppression de l’objet, consultez [Je souhaite supprimer définitivement les objets avec la gestion des versions](troubleshooting-versioning.md#delete-objects-permanent).

## À l'aide du AWS CLI
<a name="delete-object-cli"></a>



Pour supprimer un objet par demande, utilisez l’API `DELETE`. Pour plus d’informations, consultez [Objet DELETE](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html). Pour plus d’informations sur l’utilisation de la CLI pour supprimer un objet, consultez [delete-object](https://awscli.amazonaws.com/v2/documentation/api/2.0.34/reference/s3api/delete-object.html).

# Utilisation de l'API REST
<a name="DeletingAnObjectsUsingREST"></a>

Vous pouvez utiliser le AWS SDKs pour supprimer un objet. Toutefois, si l’application l’exige, vous pouvez envoyer directement des demandes REST. Pour plus d’informations, consultez [Objet DELETE](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) dans la *Référence des API Amazon Simple Storage Service*. 

## En utilisant le AWS SDKs
<a name="DeletingOneObject"></a>

Les exemples suivants montrent comment vous pouvez utiliser le AWS SDKs pour supprimer un objet d'un compartiment. Pour plus d’informations, consultez [Objet DELETE](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) dans la *Référence des API Amazon Simple Storage Service*.

Si le compartiment est activé pour la gestion des versions S3, vous disposez des options suivantes :
+ Supprimez une version spécifique d’objet en spécifiant un ID de version.
+ Supprimez un objet sans spécifier un ID de version, auquel cas Amazon S3 ajoute un marqueur de suppression à l’objet.

Pour plus d’informations sur la gestion des versions S3, consultez [Conservation de plusieurs versions d’objets grâce à la gestion des versions S3](Versioning.md). 

Pour plus d'exemples, et des exemples dans d'autres langages, consultez [Utiliser `DeleteObject` avec un AWS SDK ou une CLI](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_DeleteObject_section.html) dans le manuel de *référence de l'API Amazon S3*.

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

Pour supprimer des objets à l'aide du AWS SDK for Java, vous pouvez supprimer des objets à la fois dans des compartiments versionnés et non versionnés :
+ *Compartiment sans gestion des versions :* dans la demande de suppression, vous ne spécifiez que la clé d’objet, et pas l’ID de la version.
+ *Compartiment avec gestion des versions :* vous pouvez supprimer une version spécifique d’un objet en indiquant le nom de la clé d’objet et l’ID de la version. S’il n’existe pas d’autres versions de cet objet, Amazon S3 supprime la totalité de l’objet. Sinon, Amazon S3 supprime uniquement la version spécifiée.
**Note**  
Vous pouvez obtenir la version IDs d'un objet en envoyant une `ListVersions` demande.

Pour des exemples de suppression d'un seul objet avec le AWS SDK for Java, [consultez Supprimer un](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_DeleteObject_section.html) objet dans *le manuel Amazon S3 API* Reference.

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

Les exemples suivants montrent comment supprimer un objet à partir d’un compartiment activé pour la gestion des versions et d’un compartiment non activé pour la gestion des versions. Pour plus d’informations sur la gestion des versions S3, consultez [Conservation de plusieurs versions d’objets grâce à la gestion des versions S3](Versioning.md). 

**Example Suppression d’un objet d’un compartiment désactivé pour la gestion des versions**  
L’exemple C\$1 suivant supprime un objet à partir d’un compartiment désactivé pour la gestion des versions. L'exemple suppose que les objets n'ont pas de version IDs, vous ne spécifiez donc pas de version IDs. Spécifiez uniquement la clé d’objet.   
Pour plus d'informations sur la configuration et l'exécution des exemples de code, consultez [Getting Started with the AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET dans *AWS le Guide du développeur du SDK pour* .NET.   

```
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 Suppression d’un objet d’un compartiment activé pour la gestion des versions**  
L’exemple C\$1 suivant supprime un objet d’un compartiment activé pour la gestion des versions. L’exemple supprime une version de l’objet en spécifiant le nom de la clé d’objet et l’ID de version.   
Le code exécute les tâches suivantes :  

1. Active la gestion des versions S3 sur un compartiment que vous spécifiez (si la gestion des versions S3 est déjà activée, cette opération est sans effet).

1. Ajoute un exemple d'objet au compartiment. En réponse, Amazon S3 renvoie l’ID de version de l’objet nouvellement ajouté. L'exemple utilise l'ID de version dans la demande de suppression.

1. Supprime l’exemple d’objet en spécifiant le nom de la clé d’objet et l’ID de version.
**Note**  
Vous pouvez également obtenir l’ID de version d’un objet en envoyant une demande `ListVersions`.  

   ```
   var listResponse = client.ListVersions(new ListVersionsRequest { BucketName = bucketName, Prefix = keyName }); 
   ```
Pour plus d'informations sur la configuration et l'exécution des exemples de code, consultez [Getting Started with the AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET dans *AWS le Guide du développeur du SDK pour* .NET.   

```
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 ]

Cet exemple montre comment utiliser les classes de la version 3 de AWS SDK pour PHP pour supprimer un objet d'un bucket non versionné. Pour en savoir plus sur la suppression d’un objet à partir d’un compartiment activé pour la gestion des versions, consultez [Utilisation de l'API REST](DeletingAnObjectsUsingREST.md). 

Pour plus d'informations sur l'API AWS SDK for Ruby, consultez [AWS SDK for Ruby](https://docs.aws.amazon.com/sdkforruby/api/index.html) - Version 2.

L’exemple de PHP suivant supprime un objet à partir d’un compartiment. Comme cet exemple illustre la façon de supprimer des objets des compartiments désactivés pour la gestion des versions, il fournit uniquement le nom du compartiment et la clé d’objet (pas un ID de version) dans la demande de suppression. 

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

------