【问题标题】:How can I list blobs in Azure's blob storage w/o recursively fetching all blobs如何在 Azure Blob 存储中列出 Blob,而不以递归方式获取所有 Blob
【发布时间】:2019-04-16 15:48:55
【问题描述】:

以下是一些适用的代码供参考:

const service = storage.createBlobService(connectionString);
service.listBlobsSegemented(containerName, null, (err, data) => {
  if (err) {
    throw new Error();
  }
  data.entries.forEach(blob => {
    console.log('blob', blob)
  })
})

问题是data.entries 包含容器中的每一个 blob。我的容器结构如下所示:

  • file-1.csv
  • file-2.csv
  • 存档/file-1-12341234123412.csv
  • 存档/file-2-12341234123412.csv

我只能使用 listBlobsSegmentedWithPrefix 在 /archive 中轻松获取内容,例如:

service.listBlobsSegmentedWithPrefix(containerName, 'archive', null, 
  (err, data) => {
    ...
  }
)

但是,我看不到只在根级别获取 blob 的方法。

【问题讨论】:

    标签: node.js azure azure-storage


    【解决方案1】:

    好吧,我很茫然,所以我只是随机尝试将分隔符设置为“/”并且它起作用了。太糟糕了,文档没有相当描述它的用途......

    解决方案:

    service.listBlobsSegmented(containerName, null, {delmiter: '/'}, (e, d) => {
      ....
    })
    

    【讨论】:

      猜你喜欢
      • 2019-07-28
      • 2012-03-02
      • 1970-01-01
      • 1970-01-01
      • 2019-08-17
      • 2018-05-07
      • 2021-12-21
      • 2013-02-26
      • 2021-08-31
      相关资源
      最近更新 更多