Объекты BLOB-объектов Google Cloud Storage List с указанным c именем файла - PullRequest
0 голосов
/ 08 июля 2020

С помощью google.cloud.storage и list_blobs я могу получить список файлов из указанной c корзины. Но я хочу отфильтровать (имя * .ext) точные файлы из корзины. Мне не удалось найти точное решение.

Например: buket = data, prefix_folder_name = sales, в папке prefix у меня есть список счетов с метаданными. Я хочу получить счет-фактуру c и его метаданные (имя * .csv и имя. *. Meta). Кроме того, если я использую oop все all_blobs конкретной папки для получения выбранных файлов, тогда это будет огромный объем данных, и это может повлиять на производительность.

Было бы хорошо, если бы кто-нибудь мне помог с это решение.

bucket = gcs_client.get_bucket(buket)
all_blobs = bucket.list_blobs(prefix=prefix_folder_name)
for blob in all_blobs: 
  print(blob.name)

Ответы [ 2 ]

1 голос
/ 09 июля 2020

Это не позволяет вам фильтровать, но вы можете использовать параметр fields, чтобы просто вернуть имя объектов, ограничивая объем возвращаемых данных и облегчая фильтрацию.

0 голосов
/ 08 июля 2020

Вы можете фильтровать по префиксу, но для более конкретной фильтрации (например, для объектов, заканчивающихся заданным расширением имени) вы должны реализовать фильтрацию на стороне клиента logi c. Вот что делает gsutil, когда вы выполняете команду типа:

gsutil ls gs://your-bucket/abc*.txt
...