Supprimer des objets d'un bucket de répertoire - 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.

Supprimer des objets d'un bucket de répertoire

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 ne peut pas être annulée.

  • 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 par programmation plusieurs objets d'un bucket de répertoire, notez ce qui suit :

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

  • Les clés d'objet des DeleteObjects demandes ne peuvent pas contenir de caractères de contrôle Unicode, à l'exception de newline (\n), tab (\t) et carrierreturn (\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 panneau de navigation de gauche, choisissez Compartiments.

  3. Choisissez l’onglet Compartiments de répertoires.

  4. Choisissez le compartiment de répertoire qui contient les objets que vous souhaitez supprimer.

  5. Cliquez sur l'onglet Objets. Dans la liste des objets, cochez la case située à gauche de l'objet ou des objets que vous souhaitez supprimer.

  6. Sélectionnez Delete (Supprimer).

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

  8. Choisissez Supprimer les objets.

SDK for Java 2.x

L'exemple suivant supprime des objets d'un bucket de répertoire à l'aide du 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 supprime des objets d'un bucket de répertoire à l'aide du AWS SDK for 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'delete-objectexemple de commande suivant montre comment vous pouvez utiliser le AWS CLI pour supprimer un objet d'un bucket de répertoire. 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-objectdans la référence de AWS CLI commande.