У меня есть корзина со следующей структурой ключа:
path/to/file1
path/to/file2
path/of/file3
path/of/file4
И я хотел бы получить список "папок" внутри path
.Фактический вариант использования имеет много «подпапок», поэтому мне нужно отфильтровать листинг.В идеале я хочу получить только две записи: to
и of
.
Используя boto3, я ожидал, что два следующих вызова в основном равны, то есть листинг обоих дает одинаковый результат:
Использование сегмента, возвращаемого ресурсом S3
s3 = boto3.resouce('s3')
bucket = s3.Bucket('bucketname')
bucket.objects.filter(Prefix='path/', Delimiter='/').all()
и базовым клиентом
s3 = boto3.resouce('s3')
s3.meta.client.list_objects(Bucket='path', Prefix='', Delimiter='/')
Однако первый возвращает список emtpy, а второй возвращает JSONс ключом CommonPrefixes
, имеющим две записи.
Вопрос: Что мне не хватает?