Одновременная загрузка одного и того же файла в хранилище BLOB-объектов Azure - PullRequest
0 голосов
/ 01 июня 2018

У меня может быть два пользователя, которые независимо друг от друга используют приложение для загрузки набора файлов в хранилище Azure [BLOB-объектов].Существует вероятность того, что два загружаемых набора файлов содержат один или несколько общих файлов.Это означает, что один и тот же файл может быть одновременно загружен из каждого экземпляра приложения.

  • Успешно ли завершена первая загрузка, в результате чего другая загрузка завершится неудачно, поскольку файл с таким жеимя уже присутствует?
  • Или первая загрузка, которая начинается успешно, приводит к сбою другой загрузки сразу после обнаружения записи другого потока в точно такое же местоположение?

1 Ответ

0 голосов
/ 01 июня 2018

Ответ на оба ваших вопроса: Нет. По умолчанию хранилище Azure перезаписывает большой двоичный объект, если существует большой двоичный объект с таким же именем.Таким образом, в вашем сценарии BLOB, загруженный первым пользователем, будет перезаписан BLOB-файлом, загруженным вторым пользователем.

Однако операция загрузки BLOB-объектов поддерживает Conditional Request Headers, и вы можете попросить хранилище Azure отменить вторую операцию загрузки, включив в запрос на добавление заголовок If-None-Match со значением *.Тогда запрос на загрузку будет успешным, только если блоб не существует.

...