

# Eliminación de objetos de un bucket de directorio
<a name="directory-bucket-delete-object"></a>

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 [Trabajar con buckets de de directorio](directory-buckets-overview.md) y [S3 Express One Zone](directory-bucket-high-performance.md#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`).

## Uso de la consola de S3
<a name="delete-object-directory-bucket-console"></a>

**Para eliminar objetos**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. En el panel de navegación izquierdo, elija **Buckets de directorio**.

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

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

1. Elija **Eliminar**.

   

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

1. Elija **Eliminar objetos**.

## Uso de los AWS SDK
<a name="delete-object-directory-bucket-sdks"></a>

------
#### [ SDK for Java 2.x ]

**Example**  
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 ]

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

------

## Uso de AWS CLI
<a name="directory-download-object-cli"></a>

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}}--{{zone-id}}--x-s3 --key {{KEY_NAME}} 
```

Para obtener más información, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-object.html) en la *Referencia de comandos de la AWS CLI*.

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

El archivo `delete.json` es el siguiente: 

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

El comando de ejemplo `delete-objects` es el siguiente:

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

Para obtener más información, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-objects.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-objects.html) en la *Referencia de comandos de la AWS CLI*.