Предупреждение о согласованности S3 - PullRequest
0 голосов
/ 18 июня 2020

Предостережение в S3 PUT для новых объектов заключается в том, что если вы сделаете запрос HEAD или GET к имени ключа до создания объекта, а затем создадите объект вскоре после этого, последующий GET может не вернуть объект из-за возможного согласованность.

Почему это? Какую проблему создает первый GET? Причина в том, что S3 может искать объект в других зонах доступности, а в то же время для этого есть PUT? Возвращает ли S3 предыдущий статус (проверено во всех зонах доступности, но не найдено)

1 Ответ

1 голос
/ 18 июня 2020

Мне неизвестна какая-либо документация publi c, объясняющая причину этого предупреждения.

Быстрое напоминание о том, что такое утверждение о согласованности S3:

Amazon S3 обеспечивает согласованность операций чтения после записи для PUTS новых объектов в вашей корзине S3 во всех регионах с одной оговоркой. Предостережение заключается в том, что если вы сделаете запрос HEAD или GET к ключевому имени до создания объекта, а затем создаете объект вскоре после этого, последующий GET может не вернуть объект из-за возможной согласованности.

Вот некоторые связанные, не авторитетные обсуждения:

Первое из этих двух обсуждений предполагает, что причина в том, что S3 может кэшировать ответ не найденного объекта 404 на начальный запрос HEAD / GET и, следовательно, может возвращать этот кешированный результат на GET после начального PUT до тех пор, пока PUT полностью распространился. Но это умозрительно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...