2017-02-14 24 views
0

Я загрузил большой архив zip в контейнер BLOB Azure Storage, ~ 9GB, используя утилиту AzCopy. Теперь я хочу проверить, правильно ли это. Я могу получить значение «CONTENT-MD5» от Azure Portal для файла. Тогда мне нужно рассчитать это на моей стороне, не так ли? Существуют ли другие способы проверки действительности (кроме загрузки этого файла)? Он был архивирован с использованием утилиты 7zip, которая не имеет хеш-алгоритма для MD5.Как правильно загрузить файл базы данных Azure Storage BLOB?

ответ

2

«Content-MD5 «свойство загруженного блоба не поддерживается службой Blaz Service Azure для контента в режиме реального времени. Фактически, он вычисляется AzCopy во время загрузки и устанавливается на целевое blob, когда AzCopy заканчивает загрузку. Поэтому, если вы действительно хотите проверить целостность данных, вам необходимо загрузить файл с помощью функции AzCopy с параметром/CheckMD5, а затем сравнить загруженный файл с местным исходным файлом.

Однако, учитывая, что AzCopy прилагает все усилия для защиты целостности данных во время передачи, шаг проверки выше, вероятно, избыточен и настоятельно не рекомендуется, если целостность данных намного важнее производительности в рамках вашего сценария.

0

С помощью PowerShell можно выполнить следующую команду, чтобы получить MD5 хэш файла

Get-FileHash -Path "C:\temp\somefile.zip" -Algorithm MD5 

Если вы используете C# вы можете также использовать этот фрагмент кода

using (var md5 = System.Security.Cryptography.MD5.Create()) 
{ 
    using (var stream = File.OpenRead(filename)) 
    { 
     return md5.ComputeHash(stream); 
    } 
}