Мне нужно обновить большой файл, сохраненный как BLOB-объект Azure.Это обновление займет несколько секунд, и мне нужно убедиться, что никакой другой клиент никогда не получит частично обновленный файл.
Как описано в https://docs.microsoft.com/en-us/azure/storage/common/storage-concurrency, файл должен быть легко заблокирован для записи, но какНасколько я понимаю, другие клиенты по-прежнему смогут читать файл.Я мог бы использовать блокировки чтения, но это означало бы, что только один клиент может прочитать файл, и это не то, что я хочу.
Согласно Предотвращение доступа Azure BLOB-объекта к другому сервису во время его создания Кажется, что по крайней мере новые файлы будут "зафиксированы" в конце загрузки, но я не смог найти информацию о том, что произойдет, когда я обновлю существующий файл.
Итак, вопрос в том, что будут делать другие клиентычитать во время операции обновления (замены)?
- Будут ли они читать старый файл, пока не будут зафиксированы новые данные, или
- они будут читать частично обновленное содержимое файла?