Несоответствие в списке объектов AWS S3 - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь составить список объектов с заданным префиксом, используя AWS S3 cli. Однако иногда он возвращает разные результаты для, казалось бы, идентичных структур папок.

Хорошо, вот команда # 1

aws s3api list-objects --bucket b --prefix 38d2f2e0-8091-11e9-aaa9-03fd73386354/raw 

38d2f2e0-8091-11e9-aaa9-03fd73386354/raw/Pogonocherus_hispidus_Max.1001.png     
38d2f2e0-8091-11e9-aaa9-03fd73386354/raw/Pogonocherus_hispidus_Max.mtl  
38d2f2e0-8091-11e9-aaa9-03fd73386354/raw/Pogonocherus_hispidus_Max.obj 

и здесь # 2

aws s3api list-objects --bucket b --prefix 5d5c3abe-1a95-4e92-a03d-11fbf37d7851/raw 

5d5c3abe-1a95-4e92-a03d-11fbf37d7851/raw/
5d5c3abe-1a95-4e92-a03d-11fbf37d7851/raw/Pogonocherus_hispidus_Max.1001.png    
5d5c3abe-1a95-4e92-a03d-11fbf37d7851/raw/Pogonocherus_hispidus_Max.mtl
5d5c3abe-1a95-4e92-a03d-11fbf37d7851/raw/Pogonocherus_hispidus_Max.obj 

Понятия не имею, зачем он это делает. В идеале, я хочу, чтобы результат всегда был похож на # 1.

Что здесь происходит?

1 Ответ

3 голосов
/ 27 мая 2019

Разница между этими двумя списками заключается в наличии во втором списке объекта подпапки raw/. В S3 нет необходимости создавать папку перед записью объекта в эту папку. И когда вы создаете объект, такой как folder1/folder2/image.jpg, S3 не создает структуру folder1/folder2/; он просто пишет объект.

Итак, какой-то процесс, который вы используете, намеренно создает объект на 5d5c3abe-1a95-4e92-a03d-11fbf37d7851/raw/ для представления подпапки raw/. Обычно нет необходимости создавать эту папку, но некоторые клиенты делают это. Как видите, в первом примере все отлично работает без подпапки raw/.

Итак, посмотрите, можете ли вы определить разницу в способе заполнения S3, которая может привести к созданию подпапки uuid/raw/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...