如何使用azure-storage-node按修改date查询Azure Blob

我正在使用Azure Blob存储节点库: https : //github.com/Azure/azure-storage-node

我已经提到这个文档: https : //github.com/Azure/azure-content/blob/master/articles/storage-nodejs-how-to-use-blob-storage.md

我可以做大多数的blob操作,但是我想列出一个星期内没有被修改过的blob。 该文件是相当轻,但似乎有一个访问条件,我可以使用,我只是不确定的语法。 这是我最好的猜测:

var weekOld = new Date(); weekOld.setDate(weekOld.getDate() - 7); var options = {accessConditions:{}}; options['accessConditions'][azure.BlobUtilities.AccessConditions.DATE_UNMODIFIED_SINCE] = weekOld; blobSvc.listBlobsSegmentedWithPrefix('mycontainer', 'myprefix', null /*token*/, options, function(error, result, response){ if(!error){ result.entries.forEach(function(val, index, array){ console.log(val.name); console.log(val.properties); }); } console.log(response); }); 

这将使用正确的前缀拉入所有的斑点,但忽略修改date。 我正在猜测传递accessConditions与我的查询语法,所以这并不奇怪,这是行不通的。 任何帮助深表感谢。

在列出Blob时,使用访问条件在Blob上进行服务器端筛选是不可能的,因为List Blobs REST API操作不支持条件标题。 有关支持条件标题的操作,请参阅Specifying Conditional Headers for Blob Service Operations (部分标题为: Operations Supporting Conditional Headers )。

你最好的select是列出blob,然后在客户端进行过滤。