Google Cloud не распознает во вложенной папке больше файлов? - PullRequest
0 голосов
/ 09 июля 2020

Недавно пытался проверить, какие пути существуют в ведре GCS следующим образом.

return StorageOptions.getDefaultInstance().getService()
      .list("my-bucket-name", Storage.BlobListOption.prefix(("folder-inside/yet-another-folder/")))
      .hasNextPage();

Примите во внимание следующую структуру внутри корзины.

- my-bucket-name
|-- folder-inside
   |-- yet-another-folder
      | -- file.txt

Это не на самом деле не возражаю, что yet-another-folder пусто, пока существует. В обоих случаях должно возвращаться значение true, yet-another-folder существующих или yet-another-folder, содержащих другие файлы.

Однако по какой-то причине каждый раз возвращается false.

1 Ответ

2 голосов
/ 09 июля 2020

Список возвращает результат, доступный для страницы (значения по умолчанию: 1000 на страницу без сведений ACL, иначе 200). Если есть больше результатов, hasNextPage () истинно, иначе - ложно.

В вашем случае у вас есть только 1 файл, он возвращается в вызове вашего списка, и нет следующей страницы результат, поэтому hasNextPage () является ложным.

Лучше проверить размер возвращаемого списка. Если 0, файл И каталог не существует. Если 1, существует только каталог без файла.

...