предостережение о согласованности чтения после записи для PUTS новых объектов в корзине S3 - PullRequest
0 голосов
/ 16 апреля 2019

С https://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html:

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

Я не уверен, правильно ли я понимаю оговорку.Before creating the object: хорошо, я еще не создал объект с ключом K , поэтому никакого объекта с ключом K не существует;Я делаю GET-запрос к K ... , что приводит мой запрос к в соответствии с объяснением выше?

Я в замешательстве, потому что объяснение говорит оeventual consistency for read-after-write.Но пока нет записи .

1 Ответ

2 голосов
/ 16 апреля 2019

Такая ситуация возникает, когда у вас есть файл для загрузки, но этот файл может уже существует. Поэтому вместо того, чтобы перезаписать существующий файл, вы делаете следующее:

  1. Попробуйте получить файл. Его не существует, поэтому вы получаете 404 с No such key
  2. PUT файл.
  3. Попробуйте ПОЛУЧИТЬ файл сразу после этого (по любой причине).

В этой последовательности шаг № 3 может возвращать или не возвращать файл. В конечном итоге вы можете извлечь файл, но сколько времени это займет с момента загрузки, зависит от внутренней части S3 (я могу предположить, почему это происходит, но это будет только предположение).

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