

# Trabajar con marcadores de eliminación
<a name="DeleteMarker"></a>

Un *marcador de eliminación* en Amazon S3 es un marcador de posición (o marcador) para un objeto con control de versiones que se ha especificado en una solicitud `DELETE` simple. Una solicitud `DELETE` simple es una solicitud que no especifica un ID de versión. Dado que el objeto estaba en un bucket con control de versiones habilitado, el objeto no se elimina. Sin embargo, el marcador de eliminación hace que Amazon S3 se comporte como si el objeto se hubiese eliminado. Puede utilizar una llamada `DELETE` a la API de Amazon S3 en un marcador de eliminación. Para ello, deberá realizar la solicitud `DELETE` mediante un usuario o rol de AWS Identity and Access Management (IAM) que tenga los permisos apropiados.

Un marcador de eliminación tiene un *nombre de clave* (o *clave*) y un ID de versión al igual que cualquier otro objeto. Sin embargo, un marcador de eliminación se diferencia de otros objetos en los siguientes aspectos:
+ Un marcador de eliminación no tiene datos asociados.
+ Un marcador de eliminación no está asociado a un valor de lista de control de acceso (ACL).
+ Si emite una solicitud `GET` para eliminar un marcador, la solicitud `GET` no recupera nada porque el marcador de eliminación no contiene datos. En concreto, si su solicitud `GET` no especifica un `versionId`, aparece un error 404 (no encontrado).

Los marcadores de eliminación acumulan un cargo mínimo por almacenamiento en Amazon S3. El tamaño de almacenamiento de un marcador de eliminación es igual al tamaño del nombre de clave del marcador de eliminación. Un nombre de clave es una secuencia de caracteres Unicode. La codificación UTF-8 del nombre de la clave añade entre 1 y 4 bytes de almacenamiento al bucket para cada carácter del nombre. Los marcadores de eliminación se almacenan en la clase de almacenamiento S3 Standard. 

Si desea saber cuántos marcadores de eliminación tiene y en qué clase de almacenamiento están almacenados, puede usar la Lente de almacenamiento de Amazon S3. Para obtener más información, consulte [Supervisión de la actividad y el uso de almacenamiento con Lente de almacenamiento de Amazon S3](storage_lens.md) y [Glosario de métricas de Amazon S3 Storage Lens](storage_lens_metrics_glossary.md).

Para obtener más información sobre nombres de clave, consulte [Denominación de objetos de Amazon S3](object-keys.md). Para obtener información acerca de cómo eliminar marcadores de eliminación, consulte [Gestión de marcadores de eliminación](ManagingDelMarkers.md). 

Solo Amazon S3 puede crear un marcador de eliminación, y lo hace cuando envía una solicitud `DeleteObject` a un objeto en un bucket con control de versiones habilitado o suspendido. El objeto especificado en la solicitud `DELETE` no se elimina realmente. Por el contrario, el marcador de eliminación se convierte en la versión actual del objeto. El nombre de la clave del objeto (o clave) se convierte en la clave del marcador de eliminación. 

Cuando obtiene un objeto sin especificar un `versionId` en su solicitud, si su versión actual es un marcador de eliminación, Amazon S3 responde con lo siguiente:
+ Un error 404 (No encontrado)
+ Un encabezado de respuesta, `x-amz-delete-marker: true`

Cuando obtiene un objeto especificando un `versionId` en su solicitud, si la versión especificada es un marcador de eliminación, Amazon S3 responde con lo siguiente:
+ Un error 405 (Método no permitido)
+ Un encabezado de respuesta, `x-amz-delete-marker: true`
+ Un encabezado de respuesta, `Last-Modified: timestamp` (solo cuando se utilizan las operaciones de la API [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) o [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html))

El encabezado de respuesta `x-amz-delete-marker: true` le indica que el objeto al que se ha obtenido acceso era un marcador de eliminación. Este encabezado de respuesta nunca devuelve `false`, porque cuando el valor es `false`, la versión actual o especificada del objeto no es un marcador de eliminación.

El encabezado de respuesta `Last-Modified` indica la hora de creación de los marcadores de eliminación.

En el siguiente gráfico, se muestra cómo una llamada a la API `GetObject` en un objeto cuya versión actual es un marcador de eliminación responde con un error 404 (no encontrado) y en el encabezado de respuesta se incluye `x-amz-delete-marker: true`.

![\[Ilustración que muestra una llamada GetObject a un marcador de eliminación que devuelve un error 404 (no encontrado).\]](http://docs.aws.amazon.com/es_es/AmazonS3/latest/userguide/images/versioning_DELETE_NoObjectFound.png)


Si realiza una llamada `GetObject` a un objeto especificando un `versionId` en su solicitud y si la versión especificada es un marcador de eliminación, Amazon S3 responde con un error 405 (método no permitido) y los encabezados de respuesta incluyen `x-amz-delete-marker: true` y `Last-Modified: timestamp`.

![\[Ilustración que muestra una llamada GetObject a un marcador de eliminación que devuelve un error 405 (método no permitido).\]](http://docs.aws.amazon.com/es_es/AmazonS3/latest/userguide/images/versioning_DELETE_NoObjectFound_405.png)


Incluso si se sobrescriben, los marcadores de eliminación permanecen en las versiones de objeto. La única forma de enumerar los marcadores de eliminación (y otras versiones de un objeto) es hacerlo mediante una solicitud [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html). Puede realizar esta solicitud en la Consola de administración de AWS mediante la enumeración de los objetos en un bucket de uso general y la selección de **Mostrar versiones**. Para obtener más información, consulte [Mostrar objetos en un bucket con control de versiones habilitado](list-obj-version-enabled-bucket.md).

La siguiente figura muestra que una solicitud [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) o [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) no devuelve objetos cuya versión actual sea un marcador de eliminación.

![\[Ilustración que muestra cómo una llamada ListObjectsV2 o ListObjects no devuelve ningún marcador de eliminación.\]](http://docs.aws.amazon.com/es_es/AmazonS3/latest/userguide/images/versioning_GETBucketwithDeleteMarkers.png)
