繁体   English   中英

Google Cloud SDK Python客户端:如何列出Cloud Storage存储桶中的文件?

[英]Google Cloud SDK Python Client: How to list files inside of a Cloud Storage bucket?

尝试使用Python来获取和遍历我拥有的Cloud Storage存储桶中的所有文件。 我正在使用官方库google-cloud-storage

使用gsutil ,我可以运行gsutil ls gs://my-composer-bucket/dags/composer_utils/ google-cloud-storage库是否提供与gsutil ls等效的方法? 我想使用Python客户端,而不是使用gsutil (不想在Docker映像中安装和认证GCloud SDK)。

我尝试了一些不同的操作,这些操作使我对blob的工作方式感到困惑:

>>> 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

您将要使用Bucket对象的list_blobs方法。 阅读有关在Cloud Storage中列出对象的更多信息。

# 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM