

# Trabalhar com marcadores de exclusão
<a name="DeleteMarker"></a>

Um *marcador de exclusão* no Amazon S3 é um espaço reservado (ou marcador) para um objeto com versões que foi especificado em uma solicitação `DELETE` simples. Uma solicitação `DELETE` simples é uma solicitação que não especifica um ID de versão. Como o objeto está em um bucket com versionamento habilitado, o objeto não é excluído. Mas o marcador de exclusão faz com que o Amazon S3 se comporte como se o objeto tivesse sido excluído. É possível usar a chamada de API `DELETE` do Amazon S3 em um marcador de exclusão. Para isso, será necessário fazer a solicitação `DELETE` usando um usuário ou um perfil do AWS Identity and Access Management (IAM) com as permissões adequadas.

Um marcador de exclusão tem um *nome de chave* (ou *chave*) e um ID de versão como qualquer outro objeto. Contudo, um marcador de exclusão difere de outros objetos nas seguintes maneiras:
+ Um marcador de exclusão não tem dados associados a ele.
+ Um marcador de exclusão não está associado a um valor da lista de controle de acesso (ACL).
+ Se você emitir uma solicitação `GET` para um marcador de exclusão, a solicitação `GET` não recuperará nada porque um marcador de exclusão não tem dados. Especificamente, quando a solicitação `GET` não especifica um `versionId`, você recebe um erro 404 (não encontrado).

Os marcadores de exclusão acumulam uma cobrança mínima para armazenamento no Amazon S3. O tamanho de armazenamento de um marcador de exclusão é igual ao tamanho do nome da chave do marcador de exclusão. Um nome de chave é uma sequência de caracteres Unicode. A codificação UTF-8 para o nome da chave adiciona de 1 a 4 bytes de armazenamento ao bucket para cada caractere no nome. Os marcadores de exclusão são armazenados na classe de armazenamento S3 Standard. 

Se você quiser descobrir quantos marcadores de exclusão você tem e em qual classe de armazenamento eles estão armazenados, use a Lente de Armazenamento do Amazon S3. Para obter mais informações, consulte [Monitorar a atividade de armazenamento e o uso com a Lente de Armazenamento do Amazon S3](storage_lens.md) e [Glossário de métricas de lente de armazenamento do Amazon S3](storage_lens_metrics_glossary.md).

Para obter mais informações sobre nomes de chave, consulte [Nomear objetos do Amazon S3](object-keys.md). Para obter mais informações sobre exclusão de um marcador de exclusão, consulte [Gerenciamento de marcadores de exclusão](ManagingDelMarkers.md). 

Somente o Amazon S3 pode criar e excluir um marcador de exclusão, e ele faz isso sempre que você envia uma solicitação `DeleteObject` em um objeto em um bucket com versionamento habilitado ou suspenso. O objeto especificado na solicitação `DELETE` não é de fato excluído. Em vez disso, o marcador de exclusão torna-se a versão atual do objeto. O nome de chave (ou chave) do objeto torna-se a chave do marcador de exclusão. 

Ao obter um objeto sem especificar um `versionId` na solicitação, se a versão atual for um marcador de exclusão, o Amazon S3 responderá com o seguinte:
+ Um erro 404 (não encontrado)
+ Um cabeçalho de resposta, `x-amz-delete-marker: true`

Ao obter um objeto especificando um `versionId` na solicitação, se a versão especificada for um marcador de exclusão, o Amazon S3 responderá com o seguinte:
+ Um erro 405 (Método Não Permitido)
+ Um cabeçalho de resposta, `x-amz-delete-marker: true`
+ Um cabeçalho de resposta, `Last-Modified: timestamp` (somente ao usar as operações de API [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) ou [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html))

O cabeçalho de resposta `x-amz-delete-marker: true` mostra que o objeto acessado era um marcador de exclusão. Esse cabeçalho de resposta nunca retorna `false`, porque quando o valor é `false`, a versão atual ou especificada do objeto não é um marcador de exclusão.

O cabeçalho de resposta `Last-Modified` fornece a hora de criação dos marcadores de exclusão.

A figura a seguir mostra como uma chamada de API `GetObject` em um objeto, cuja versão atual é um marcador de exclusão, responde com um erro 404 (não encontrado), e o cabeçalho da resposta inclui `x-amz-delete-marker: true`.

![\[Ilustração de uma chamada GetObject para um marcador de exclusão que retorna um erro 404 (não encontrado).\]](http://docs.aws.amazon.com/pt_br/AmazonS3/latest/userguide/images/versioning_DELETE_NoObjectFound.png)


Se você fizer uma chamada `GetObject` em um objeto especificando um `versionId` na solicitação e se a versão especificada for um marcador de exclusão, o Amazon S3 responderá com um erro 405 (método não permitido) e os cabeçalhos de resposta incluirão `x-amz-delete-marker: true` e `Last-Modified: timestamp`.

![\[Ilustração de uma chamada GetObject para um marcador de exclusão que retorna um erro 405 (método não permitido).\]](http://docs.aws.amazon.com/pt_br/AmazonS3/latest/userguide/images/versioning_DELETE_NoObjectFound_405.png)


Mesmo que sejam substituídos, os marcadores de exclusão permanecem nas versões do objeto. O único modo de listar marcadores de exclusão (e outras versões de um objeto) é usando a solicitação [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html). Você pode fazer essa solicitação no Console de gerenciamento da AWS listando seus objetos em um bucket de uso geral e selecionando **Mostrar versões**. Para obter mais informações, consulte [Listar objetos em um bucket com versionamento habilitado](list-obj-version-enabled-bucket.md).

A figura a seguir mostra que uma solicitação [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) ou [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) não retorna objetos cuja versão atual é um marcador de exclusão.

![\[Ilustração que mostra como uma chamada ListObjectsV2 ou ListObjects não retorna nenhum marcador de exclusão.\]](http://docs.aws.amazon.com/pt_br/AmazonS3/latest/userguide/images/versioning_GETBucketwithDeleteMarkers.png)
