gpt4 book ai didi

Azure 数据湖 gen2 - 验证上传的文件(MD5?)

转载 作者:行者123 更新时间:2023-12-03 02:40:22 24 4
gpt4 key购买 nike

我需要验证上传到 ADLG2 的文件,但找不到好方法...

有一个 ContentMD5 属性,但我不明白为什么要更改或更新它

即使当我尝试获取文件的 HEAD 时,该属性也不存在 HEAD headers response(即使在存储资源管理器中该属性也存在) Property list in Storage Explorer

为什么要在 Azure 端自动生成它?或者某种不同的方式来验证文件?(我不想上传文件然后下载并比较它们)

最佳答案

使用 REST API:

将文件上传到 Azure 数据湖时,只需 3 个步骤即可完成

  1. 放置 -> 在 ADL 中的正确位置创建文件
  2. Patch -> action=append ,将数据添加到 blob
  3. Patch -> action=flush ,保存 blob

验证您是否在第 2 阶段添加了所需的所有数据

在 header 中添加“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 值添加到 header “x-ms-content-md5”中,以便下次读取文件时可以验证内容

payload = {}
headers = {
'x-ms-content-md5': 'XUFAKrxLKna5cZ2REBfFkg=='
}

关于Azure 数据湖 gen2 - 验证上传的文件(MD5?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61581518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com