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

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’objets à partir d’un compartiment de répertoires

Vous pouvez supprimer des objets d'un compartiment d'annuaire Amazon S3 à l'aide de la console Amazon S3, AWS Command Line Interface (AWS CLI) ou AWS SDKs. 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 console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le volet de navigation de gauche, choisissez Directory buckets.

  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. Sélectionnez Delete (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 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'delete-objectsexemple de commande suivant montre comment vous pouvez utiliser le AWS CLI pour supprimer des objets d'un compartiment de répertoire. Pour exécuter cette commande, remplacez user input placeholders par vos propres informations.

Le delete.json fichier est le suivant :

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

L'delete-objectsexemple de commande est le suivant :

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 .