#azure-storage #azure-blob-storage
#azure-хранилище #azure-blob-хранилище
Вопрос:
Я загружаю файлы в хранилище больших двоичных объектов AZURE с помощью azure-storage java sdk версии 8.6.5. Если я загружаю файл с веб-консоли, я вижу значение Content-MD5.
Но я не вижу значения CONTENT-MD5 при загрузке с использованием следующего примера кода :-
BlobRequestOptions blobRequestOptions = new BlobRequestOptions();
blobRequestOptions.setStoreBlobContentMD5(true);
cloudBlockBlob.uploadBlock(blockId, inputstream , length, null, blobRequestOptions, null);
Файл разбивается на несколько блоков и загружается в несколько параллельных потоков и, наконец, фиксирует список блоков следующим образом. Загрузка файлов работает нормально.
cloudBlockBlob.commitBlockList(blockIds, null, blobRequestOptions, null);
Любые указания будут с благодарностью, спасибо!
Также есть идеи, как лучше всего программно проверить целостность файла и убедиться, что файл загружен правильно, если содержимое-MD5 недоступно. Поддерживает ли хранилище больших двоичных объектов Azure что-либо для проверки содержимого?
Ответ №1:
Если вы хотите получить CONTENT-MD5
значение после успешной загрузки файла, просто попробуйте следующий код :
cloudBlockBlob.getProperties().getContentMD5()
Если вам все еще не хватает значения content-MD5, эта ссылка может быть полезной.
Комментарии:
1. Спасибо за ваш ответ. Я попробовал этот код, и я получаю нулевое значение для ContentMD5, Тогда как другие свойства, такие как size, Etag и т. Д., Имеют правильные значения.
2. @Arti, я вижу, кажется, здесь та же проблема, с которой вы столкнулись: github.com/Azure/azure-storage-java/issues/495
3. Спасибо @Stanley. Общая ссылка полезна
4. Привет, @Arti, рад узнать, что эта ссылка полезна. Я отредактировал свой ответ, пожалуйста, примите его, чтобы он мог помочь другим и закрыть этот вопрос 🙂