在 Azure 节点 js SDK 中获取远程文件 blob 的 MD5



我正在编写一个备份脚本,它将在我们的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 应该设置此属性。如果未设置此属性,则返回空字符串。

最新更新