以下 block 是 Azure Blob 存储在请求 XML 格式的容器列表时返回的内容。
<Blob>
<Name>commits-dump.2015-10-03.tar.gz</Name>
<Url>https://ghtstorage.blob.core.windows.net/downloads/commits-dump.2015-10-03.tar.gz</Url>
<Properties>
<Last-Modified>Wed, 09 Dec 2015 18:48:28 GMT</Last-Modified>
<Etag>0x8D300C95405378B</Etag>
<Content-Length>189598959329</Content-Length>
<Content-Type>application/octet-stream</Content-Type>
<Content-Encoding/>
<Content-Language/>
<Content-MD5>gzmOYbF+TJGlvQTKPz84PQ==</Content-MD5>
<Cache-Control/>
<BlobType>BlockBlob</BlobType>
<LeaseStatus>unlocked</LeaseStatus>
</Properties>
</Blob>
我的问题是:如何解析 Content-MD5
字段(在 Ruby/Python 中)并将其转换为 Linux md5sum
实用程序所需的内容?
对于此特定文件,等效的 md5sum 为:83398e61b17e4c91a5bd4ca3f3f383d
最佳答案
您可以从本地文件创建 md5 并与 azure 内容 md5 进行比较
下面是Python代码
def md5(fname):
hash_md5 = hashlib.md5()
with open(fname, "rb") as f:
for chunk in iter(lambda: f.read(4096), b""):
hash_md5.update(chunk)
return base64.b64encode(hash_md5.digest()).decode('utf-8')
关于python - 解析 Azure Blob 内容-MD5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46646802/