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

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

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

有一个ContentMD5属性,但是我看不到为什么要更改或更新它

即使我尝试获取该文件的HEAD,该属性也不存在HEAD headers response(即使该属性在Storage Explorer中也存在)Property list in Storage Explorer

为什么要在Azure方面自动生成它?或以其他方式验证文件?(我不想上传文件然后下载并进行比较)

azure rest azure-data-lake azure-data-lake-gen2
1个回答
0
投票

使用REST API:

[将文件上传到蔚蓝数据湖时,需要3个步骤

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

以确认您已在阶段2中添加了所有数据

在标头中添加“ Content-MD5”,并将MD5哈希编码为base64)>

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=='
}
© www.soinside.com 2019 - 2024. All rights reserved.