使用 Azure DataBox 时的 Content-MD5 标头计算

问题描述 投票:0回答:1

我计划使用 Azure Databox 将文件迁移到 Azure Blob 存储。 (作为参考,我计划使用 SMB 模型而不是 NFS/Rest)。

是在这种情况下计算的 Content-MD5,还是应该在恢复到 SA 后本地计算并显式设置 x-ms-blob-content-md5 blob 属性?

谢谢

azure hash azure-blob-storage
1个回答
0
投票

使用 SMB 模型和 Azure Databox 将文件传输到 Azure Blob 存储时,传输过程中不会计算 Content-MD5。因此,建议在本地计算 Content-MD5,并在还原到存储帐户后显式设置 x-ms-blob-content-md5 blob 属性。

您可以使用以下代码在本地计算

Content-MD5
并使用 Azure 存储 Python SDK 设置
x-ms-blob-content-md5
blob 属性。

代码:

from azure.storage.blob import BlobServiceClient,ContentSettings
import hashlib

blob_service_client = BlobServiceClient.from_connection_string("<Your connection string>")
blob_client = blob_service_client.get_blob_client(container="sample",blob="vm1example.txt")
with open(r"/path/to/local/file", "rb") as f:
    content = f.read()
    content_md5 = hashlib.md5(content).digest()
content_settings = ContentSettings(content_md5=content_md5)
blob_client.set_http_headers(content_settings=content_settings)

输出:
enter image description here

参考:
使用 Python - Azure 存储管理 blob 的属性和元数据 |微软学习

© www.soinside.com 2019 - 2024. All rights reserved.