Amazon S3 já oferece suporte à aplicação de operações de gravação condicional para buckets de uso geral do S3
O Amazon S3 agora oferece suporte à aplicação de operações de gravação condicional para buckets de uso geral do S3 usando políticas de bucket. Com a imposição de gravações condicionais, agora você pode exigir que o S3 verifique a existência de um objeto antes de criá-lo no seu bucket. Da mesma forma, você também pode exigir que o S3 verifique o estado do conteúdo do objeto antes de atualizá-lo no seu bucket. Isso ajuda a simplificar aplicações distribuídas, evitando substituições de dados não intencionais, especialmente em cenários de alta simultaneidade e vários gravadores.
Para aplicar as operações de gravação condicionais, agora você pode usar as chaves de condição s3:if-none-match ou s3:if-match para escrever uma política de bucket que determina o uso de cabeçalhos condicionais HTTP if-none-match ou HTTP if-match em solicitações das APIs PutObject e CompleteMultipartUpload do S3. Com essa política de bucket em vigor, qualquer tentativa de gravar um objeto no seu bucket sem o cabeçalho condicional necessário será rejeitada. Você pode usar isso para aplicar centralmente o uso de gravações condicionais em todas as aplicações que gravam no seu bucket.
Você pode usar políticas de bucket para aplicar as gravações condicionais sem custo adicional em todas as regiões da AWS. Você pode usar o SDK, a API ou a CLI da AWS para realizar gravações condicionais. Para saber mais sobre gravações condicionais, acesse o Guia do usuário do S3.