有没有更快的方法可以从存储桶中下载Blob列表?

时间:2019-01-16 13:34:41

标签: google-cloud-platform google-cloud-storage

我想从GCP上的存储桶下载blob列表(> 100000)。每个Blob包含少量数据(<1KB)。现在,我平均每秒有20个Blob,这非常慢。我正在使用以下代码:

storage_client = storage.Client()
bucket = storage_client.get_bucket('my_bucket')
blobs = bucket.list_blobs(prefix='foobar/')
result = []
for blob in blobs:
  result.append(blob.download_as_string())

有更快的方法吗?

1 个答案:

答案 0 :(得分:0)

我不了解Google Cloud Storage,但是您可以创建一个由几个工作人员组成的ListenerContainerIdleEvent(来自模块ThreadPoolExecutor),并将每个Blob的一部分提交给他们。

它们特别适合诸如您的I / O绑定任务。

documentation写得很好。