Suppression d’objets à partir d’un compartiment de répertoires - Amazon Simple Storage Service

Suppression d’objets à partir d’un compartiment de répertoires

Vous pouvez supprimer des objets d’un compartiment de répertoires Amazon S3 à l’aide de la console Amazon S3, de l’AWS Command Line Interface (AWS CLI) ou des kits AWS SDK. Pour plus d’informations, consultez Utilisation des compartiments de répertoires et S3 Express One Zone.

Avertissement
  • La suppression d’un objet est irréversible.

  • Cette action supprime tous les objets spécifiés. Lorsque vous supprimez des dossiers, attendez la fin de l’action de suppression pour ajouter de nouveaux objets au dossier. Dans le cas contraire, de nouveaux objets pourraient également être supprimés.

Note

Lorsque vous supprimez plusieurs objets d’un compartiment de répertoires par programmation, notez les points suivants :

  • Les clés d’objet figurant dans les demandes DeleteObjects doivent contenir au moins un caractère autre qu’une espace. Les chaînes composées uniquement d’espaces ne sont pas prises en charge.

  • Les clés d’objet figurant dans les demandes DeleteObjects ne peuvent pas contenir de caractères de contrôle Unicode, à l’exception des sauts de ligne (\n), des tabulations (\t) et des retour chariot (\r).

Pour supprimer des objets
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/.

  2. Dans le volet de navigation de gauche, choisissez Compartiments de répertoires.

  3. Choisissez le compartiment de répertoires contenant les objets que vous souhaitez supprimer.

  4. Cliquez sur l’onglet Objets. Dans la liste Objets, cochez la case en regard des objets que vous souhaitez supprimer.

  5. Choisissez Supprimer.

  6. Sur la page Supprimer des objets, entrez permanently delete dans la zone de texte.

  7. Choisissez Supprimer les objets.

SDK for Java 2.x

L’exemple suivant illustre la suppression d’objets dans un compartiment de répertoires à l’aide du kit AWS SDK for Java 2.x.

static void deleteObject(S3Client s3Client, String bucketName, String objectKey) { try { DeleteObjectRequest del = DeleteObjectRequest.builder() .bucket(bucketName) .key(objectKey) .build(); s3Client.deleteObject(del); System.out.println("Object " + objectKey + " has been deleted"); } catch (S3Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }
SDK for Python

L’exemple suivant illustre la suppression d’objets dans un compartiment de répertoires à l’aide du kit AWS SDK pour Python (Boto3).

import logging import boto3 from botocore.exceptions import ClientError def delete_objects(s3_client, bucket_name, objects): ''' Delete a list of objects in a directory bucket :param s3_client: boto3 S3 client :param bucket_name: Bucket that contains objects to be deleted; for example, 'doc-example-bucket--usw2-az1--x-s3' :param objects: List of dictionaries that specify the key names to delete :return: Response output, else False ''' try: response = s3_client.delete_objects( Bucket = bucket_name, Delete = { 'Objects': objects } ) return response except ClientError as e: logging.error(e) return False if __name__ == '__main__': region = 'us-west-2' bucket_name = 'BUCKET_NAME' objects = [ { 'Key': '0.txt' }, { 'Key': '1.txt' }, { 'Key': '2.txt' }, { 'Key': '3.txt' }, { 'Key': '4.txt' } ] s3_client = boto3.client('s3', region_name = region) results = delete_objects(s3_client, bucket_name, objects) if results is not None: if 'Deleted' in results: print (f'Deleted {len(results["Deleted"])} objects from {bucket_name}') if 'Errors' in results: print (f'Failed to delete {len(results["Errors"])} objects from {bucket_name}')

L’exemple de commande delete-object suivant illustre la façon d’utiliser l’AWS CLI pour supprimer un objet d’un compartiment de répertoires. Pour exécuter cette commande, remplacez les user input placeholders par vos propres informations.

aws s3api delete-object --bucket bucket-base-name--zone-id--x-s3 --key KEY_NAME

Pour plus d’informations, consultez delete-object dans la Référence des commandes de l’AWS CLI.

L’exemple de commande delete-objects suivant illustre la façon d’utiliser l’AWS CLI pour supprimer des objets d’un compartiment de répertoires. Pour exécuter cette commande, remplacez les user input placeholders par vos propres informations.

Le fichier delete.json est le suivant :

{ "Objects": [ { "Key": "0.txt" }, { "Key": "1.txt" }, { "Key": "2.txt" }, { "Key": "3.txt" } ] }

Voici un exemple de commande delete-objects :

aws s3api delete-objects --bucket bucket-base-name--zone-id--x-s3 --delete file://delete.json

Pour plus d’informations, consultez delete-objects dans la Référence des commandes de l’AWS CLI.