

# Adicionar condições prévias às operações do S3 com solicitações condicionais
<a name="conditional-requests"></a>

É possível usar solicitações condicionais para adicionar condições prévias às operações do S3. Para usar solicitações condicionais, é necessário adicionar outro cabeçalho à operação de API do Amazon S3. Esse cabeçalho especifica uma condição que, se não for atendida, provocará uma falha na operação do S3.

As leituras condicionais comportam solicitações `GET`, `HEAD` e `COPY`. É possível adicionar condições prévias para exibir ou copiar um objeto com base na tag de entidade (ETag) ou na data da última modificação. Isso pode limitar uma operação do S3 a objetos atualizados desde uma data especificada. Também é possível limitar uma operação do S3 a uma ETag específica. Isso pode garantir que você exiba ou copie somente uma versão específica do objeto. Para obter mais informações sobre metadados de objeto, consulte [Trabalhar com metadados de objeto](UsingMetadata.md).

As gravações condicionais podem garantir que não exista nenhum objeto com o mesmo nome de chave no bucket durante as operações `PUT`. Isso evita a substituição de objetos existentes por nomes de chave idênticos. Da mesma forma, você pode usar gravações condicionais para verificar se a ETag de um objeto está inalterada antes de atualizar o objeto. Isso evita substituições não intencionais em um objeto sem conhecer o estado do conteúdo dele. É possível usar gravações condicionais para solicitações [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) ou [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html). Para obter mais informações sobre nomes de chave, consulte [Nomear objetos do Amazon S3](object-keys.md).

As exclusões condicionais avaliam se o objeto existe ou não foi alterado antes de excluí-lo. É possível realizar exclusões condicionais usando as APIs `DeleteObject` ou `DeleteObjects` em buckets de diretório e de uso geral. Para ter mais informações sobre exclusões condicionais, consulte [Como executar exclusões condicionais](conditional-deletes.md). Não há custo adicional para leituras, gravações ou exclusões condicionais. Você só paga as taxas existentes para as solicitações aplicáveis, inclusive para solicitações malsucedidas. Para obter informações sobre os recursos e a definição de preço do Amazon S3, consulte a [definição de preço do Amazon S3](https://aws.amazon.com/s3/pricing).

**Topics**
+ [Como recuperar ou copiar objetos com base em metadados com leituras condicionais](conditional-reads.md)
+ [Como evitar substituições de objeto com gravações condicionais](conditional-writes.md)
+ [Como executar exclusões condicionais](conditional-deletes.md)