我正在编写一个备份脚本,它将在我们的Windows Azure blob存储中的特定blob容器中提取每个文件的完整副本。这些文件不是我上传的,我只是在编写一个遍历 blob 存储并下载文件的脚本。为了加快此过程并跳过不必要的下载,我想在下载文件之前请求 MD5 文件,并将它们与已经本地的文件进行比较。
我的问题:我在任何地方都找不到详细说明如何执行此操作的文档。我很确定 API 支持它,我正在各地查找与其他语言相关的文档和回答问题,但不适用于 Node.js Azure SDK。
我的问题:在下载远程文件 blob 之前,是否可以(如果是,如何)通过 Azure Node.js SDK 请求远程文件 blob 的 MD5?它比下载文件更快吗?
当然可以获取 blob 的MD5
哈希。列出 Blob 时,将在 Blob 的属性中获得 MD5。请参阅下面的示例代码:
var azure = require('azure');
var blobService = azure.createBlobService("accountname", "accountkey");
blobService.listBlobs("containername", function(error, blobs){
if(!error){
for(var index in blobs){
console.log(blobs[index].name );
console.log(blobs[index].properties['content-md5'] );
}
}
});
显然,问题是 blob 应该设置此属性。如果未设置此属性,则返回空字符串。