【问题标题】:Azure data lake gen2 -Validating uploaded file(MD5?)Azure 数据湖 gen2 - 验证上传的文件(MD5?)
【发布时间】:2025-12-23 18:45:12
【问题描述】:
【问题讨论】:
标签:
azure
rest
azure-data-lake
azure-data-lake-gen2
【解决方案1】:
使用 REST API:
当您将文件上传到 azure 数据湖时,您只需 3 个步骤即可完成
- Put -> 在 ADL 的正确位置创建文件
- 补丁 -> action=append ,您将数据添加到 blob
- 补丁 -> action=flush ,你保存 blob
验证您是否在第 2 阶段添加了您需要的所有数据
在标头中添加“Content-MD5”,并使用 base64 编码的 MD5 哈希
payload = "hello"
headers = {
'Content-Length': '5',
'Content-MD5': 'XUFAKrxLKna5cZ2REBfFkg==',
'Content-Type': 'text/plain'
}
- 如果一切正常,您将收到状态:202
- 如果 MD5 不正确,您将收到状态 400 - 请求中指定的 MD5 值与服务器计算的 MD5 值不匹配
之后您想将 MD5 添加到文件(blob)属性“ContentMD5”
您需要做的是将 md5 base64 值添加到标题“x-ms-content-md5”中,以便下次读取文件时可以验证内容
payload = {}
headers = {
'x-ms-content-md5': 'XUFAKrxLKna5cZ2REBfFkg=='
}