在Azure Blobstorage中,我有100个Blob,但是我只想列出前10个Blob。我怎样才能做到这一点?
我写的{maxResults:1}
没有任何影响,它仍然列出了我所有的斑点。
这是函数:
for await (const blob of containerClient.listBlobsFlat( {maxResults: 1} )) {
const blockBlobClient = containerClient.getBlockBlobClient(blob.name);
const downloadBlockBlobResponse = await blockBlobClient.download(0);
const download = await blobToString(await downloadBlockBlobResponse.blobBody)
allblobs.push(download)
}
return allblobs
}
而不是返回迭代器以列出所有Blob
for await (const blob of containerClient.listBlobsFlat()) {
console.log(blob.name);
}
您可以考虑返回一个迭代器,以通过方法列出页面中的Blob.byPage()
,然后枚举第一页中的Blob:
let it = containerClient.listBlobsFlat().byPage({ maxPageSize: 10 }); //set page size
let response = await it.next(); // get first page
let segment = response.value.segment;
for (const blob of segment.blobItems) {
console.log(`${blob.name}`);
}
请参阅azure-sdk-for-js
存储库iterators-blobs.js
示例以获取更多详细信息
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句