Eliminación de un objeto de un bucket de directorio - Amazon Simple Storage Service

Eliminación de un objeto de un bucket de directorio

Puede eliminar objetos de un bucket de directorio de Amazon S3 mediante la consola de Amazon S3, la AWS Command Line Interface (AWS CLI) o los SDK de AWS. Para obtener más información, consulte Descripción general de los buckets de directorio y Buckets de directorio y S3 Express One Zone.

aviso
  • La eliminación de un objeto no se puede revertir.

  • Esta acción elimina todos los objetos especificados. Al eliminar carpetas, espere a que finalice la acción de eliminación antes de agregar nuevos objetos a la carpeta. De lo contrario, es posible que también se eliminen objetos nuevos.

nota

Cuando elimine varios objetos de un bucket de directorio mediante programación, tenga en cuenta lo siguiente:

  • Las claves de objetos de las solicitudes DeleteObjects deben contener al menos un carácter que no sea un espacio en blanco. No se admiten cadenas que contengan solo espacios en blanco.

  • Las claves de objeto en solicitudes DeleteObjects no pueden contener caracteres de control de Unicode, excepto los caracteres de nueva línea (\n), tabulador (\t) y retorno de carro (\r).

Para eliminar objetos
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Instancias.

  3. Seleccione la pestaña Buckets de directorio.

  4. Elija el bucket de directorio que contiene los objetos que desea eliminar.

  5. Elija la pestaña Objetcts (Objetos). En la lista Objetos, active la casilla de verificación situada a la izquierda del objeto u objetos que desea eliminar.

  6. Elija Eliminar.

  7. En la página Eliminar objetos, introduzca permanently delete en el cuadro de texto.

  8. Elija Eliminar objetos.

SDK for Java 2.x

En el siguiente ejemplo se eliminan objetos en un bucket de directorio mediante el 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

En el siguiente ejemplo se eliminan objetos en un bucket de directorio mediante el 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}')

En el ejemplo siguiente de delete-object se muestra cómo puede utilizar la AWS CLI para eliminar un objeto de un bucket de directorio. Para ejecutar este comando, sustituya los user input placeholders con su propia información.

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

Para obtener más información, consulte delete-object en la Referencia de los c‎omandos de AWS CLI.