Управление сценарием отработки отказа для BLOB-объекта Azure - PullRequest
0 голосов
/ 10 мая 2019

У меня большой XML-файл мыла, содержащий не менее 10000 транзакций, который хранится в голубом двоичном объекте.Я читаю содержимое xml из Azure и должен отправить отдельную транзакцию на сервер для обработки.

Как мне управлять записями, которые уже прочитаны, в случае, когда мой клиент внезапно завершает работу.Я не хочу снова читать все сообщения из BLOB-объекта.

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

1 Ответ

0 голосов
/ 13 мая 2019

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

И, класс BlobRange, используемый в функции download(BlobRange range, BlobAccessConditions accessConditions, boolean rangeGetContentMD5, Context context) может помочь вам пропустить содержание прочитанного, чтобы сместить предыдущий индекс в непрерывный для чтения по его методу withOffset(long offset).

long offset = ...; // the indexing 
BlobRange blobRange = new BlobRange();
blobRange.withOffset(offset);

Надеюсь, это поможет.

...