我正在编写一个备份脚本,它将在我们的Windows Azure blob存储中提取特定blob容器中每个文件的完整副本。这些文件不是我上传的,我只是编写一个遍历blob存储并下载文件的脚本。 为了加快这个过程并跳过不必要的下载,我想在下载之前为文件请求MD5,并将它们与已经本地的文件进行比较。
我的问题:我无法在任何地方找到详细说明如何执行此操作的文档。我很确定API支持它,我找到了文档并回答了与其他语言相关的问题,但不是Node.js Azure SDK。
我的问题:在下载之前,通过Azure Node.js SDK请求MD5获取远程文件blob是否可能,如果是,如何?它比下载文件更快吗?
答案 0 :(得分:0)
当然可以获得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应该设置此属性。如果未设置此属性,则返回空字符串。