Google Cloud Storage не имеет настоящих «папок». Вместо этого они эмулируются с использованием параметров префикса и разделителя для метода List Objects .
То, как вы делаете это правильно. Но когда вы перечисляете с префиксом, все объекты, начинающиеся с этого префикса, возвращаются вплоть до разделителя, если он указан. Это означает, что, как вы обнаружили, если объект «заполнитель каталога» (объект, оканчивающийся на /
), он будет возвращен. Обратите внимание, что это также означает, что любые «подкаталоги» этого префикса также будут возвращены. Например, если у вас есть следующий список объектов в корзине:
testFiles/
testFiles/a
testFiles/b
testFiles/c/d
testFiles/v
Если вы вызываете объекты списка с prefix=testFiles/
и delimiter=/
, вам будет возвращено следующее:
items =
testFiles/
testFiles/a
testFiles/b
testFiles/v
prefixes =
testFiles/c/
Это потому, что testFiles/
на самом деле является объектом в вашем ведре в GCS.