我正在按目录整理我的容器内容
rep1/subrep1/subsubrep1'
rep2/subrep2/subsubrep2'
我在每个销售代表中都有blob文件。
我想检索“ rep1 / subrep1 / subsubrep1”的Blob列表
名为tenants
的容器。
try {
const blobServiceClient = await BlobServiceClient.fromConnectionString(
process.env.AzureWebJobsStorage
);
const containerClient = await blobServiceClient.getContainerClient(
'tenants'
);
for await (const blob of containerClient.listBlobsFlat()) {
let blobClient = await containerClient.getBlobClient(blob.name);
let splitedString = blobClient.name.split('/')
filesList.push({
label: splitedString[splitedString.length].split(".wav")[0],
value: blobClient.url
});
}
} catch (err) {
console.log(err)
}
实际上,我应该使用我的代码来迭代所有blob文件。
我可以过滤结果,但是我会找到如何获取特定子文件夹blob
答案 0 :(得分:1)
使用listBlobsByHierachy
代替使用listBlobsFlat
。对于delimiter
参数,请指定一个空字符串,然后在options参数中将rep1/subrep1/subsubrep1
指定为prefix
。
类似的东西:
let iter = await containerClient.listBlobsByHierarchy("", { prefix: "rep1/subrep1/subsubrep1/" });