我想从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())
有更快的方法吗?
答案 0 :(得分:0)
我不了解Google Cloud Storage,但是您可以创建一个由几个工作人员组成的ListenerContainerIdleEvent
(来自模块ThreadPoolExecutor
),并将每个Blob的一部分提交给他们。
它们特别适合诸如您的I / O绑定任务。
documentation写得很好。