Как определить, заполнен ли файл на Azure File Storage в Java? - PullRequest
0 голосов
/ 04 мая 2020

Для нашего проекта мы используем Azure Файловое хранилище, в которое можно загружать большие файлы (максимум 500 МБ) и обрабатывать их на Java микросервисах (на основе Spring Boot), используя Azure SDK для Java, который периодически опрашивает каталог, чтобы узнать, были ли загружены новые файлы. Можно ли каким-то образом определить, когда загруженный файл полностью загружен, без таких очевидных решений, как мониторинг размера?

1 Ответ

1 голос
/ 05 мая 2020

К сожалению, невозможно напрямую отслеживать, когда загрузка файла была завершена (включая мониторинг размера). Это связано с тем, что загрузка файла происходит в два этапа:

  1. Сначала создается пустой файл определенного размера. Это соответствует операции Create File REST API.
  2. Далее содержимое записывается в этот файл. Это соответствует операции Put Range REST API. Здесь фактические данные записываются в файл.

Предполагая, что данные записываются в файл в последовательном порядке (т. Е. От байта 0 к размеру файла), можно было бы продолжить проверку последней «n» количество байтов файла и посмотрите, все ли они ненулевые. Это означает, что некоторые данные были записаны в конце файла. Опять же, это не надежное решение, так как может быть случай, когда последние «n» байтов действительно равны нулю.

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