Python-клиент Google Cloud SDK: как составить список файлов внутри хранилища Cloud Storage? - PullRequest
0 голосов
/ 11 апреля 2019

Попытка использовать Python для получения и перебора всех файлов внутри хранилища Cloud Storage, которым я владею.Я пользуюсь официальной библиотекой, google-cloud-storage.

Используя gsutil, я могу запускать такие команды, как gsutil ls gs://my-composer-bucket/dags/composer_utils/.Предоставляет ли библиотека google-cloud-storage метод, эквивалентный gsutil ls?Я хотел бы использовать клиент Python вместо оболочки gsutil (не хочу устанавливать и аутентифицировать GCloud SDK внутри образа Docker).

Я пробовал несколько разных вещейиз-за чего я запутался в том, как работают капли:

>>> dag_folder_blob = cloud_composer_bucket.blob(bucket, 'dags/')
>>> dag_folder_blob.exists()
True
>>> util_folder_blob = cloud_composer_bucket.blob(bucket, 'dags/composer_utils/')  # directory exists
>>> util_folder_blob.exists()
False
>>> util_file_blob = cloud_composer-bucket.blob(bucket, 'dags/composer_utils/__init__.py')
>>> util_file_blob.exists()
True

Ответы [ 2 ]

3 голосов
/ 11 апреля 2019

Вы захотите использовать метод list_blobs объекта Bucket.Подробнее о перечислении объектов в облачном хранилище .

1 голос
/ 16 апреля 2019
# replicating command: gsutil ls gs://<bucketName>/<prefix>

from google.cloud import storage
bucket = storage.Client(<proj>).bucket(<bucketName>)
for key in bucket.list_blobs(prefix=<prefix>):
    print key
...