Как я могу перечислить BLOB-объекты в хранилище BLOB-объектов Azure без рекурсивной выборки всех BLOB-объектов - PullRequest
0 голосов
/ 13 ноября 2018

Для справки Вот несколько применимых кодов:

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 включает в себя КАЖДЫЙ ЕДИНСТВЕННЫЙ шарик в контейнере. Структура моего контейнера выглядит примерно так:

  • файл-1.csv
  • файл-2.csv
  • архив / файл-1-12341234123412.csv
  • архив / файл-2-12341234123412.csv

Я могу легко извлекать только то, что находится в / архиве с listBlobsSegmentedWithPrefix, например:

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

Однако я не вижу способа ТОЛЬКО получить капли на корневом уровне.

1 Ответ

0 голосов
/ 13 ноября 2018

Ну, я был в растерянности, поэтому я просто случайно попытался установить разделитель на '/', и это сработало.Жаль, что документация не вполне описывает его использование как таковое ...

Решение:

service.listBlobsSegmented(containerName, null, {delmiter: '/'}, (e, d) => {
  ....
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...