use*_*609 9 python google-app-engine google-cloud-storage google-cloud-platform
我想使用Python的客户端库获取 Google云端存储桶中所有blob的列表.
根据文档,我应该使用该list_blobs()功能.该函数似乎使用两个参数max_results并page_token实现分页.我不确定如何使用它们.
特别是,我page_token从哪里获得?
我原以为这list_blobs()会page_token在后续调用中提供,但我找不到任何文档.
另外,max_results是可选的.如果我不提供它会怎么样?有默认限制吗?如果是这样,它是什么?
list_blobs()确实使用分页,但是您不使用page_token它来实现它。
list_blobs()工作方式是返回一个迭代器,该迭代器对所有结果进行迭代,并在后台进行分页。因此,只需执行此操作即可获得所有结果,并根据需要获取页面:
for blob in bucket.list_blobs()
print blob.name
Run Code Online (Sandbox Code Playgroud)
截至2017年4月26日,文档内容如下:
page_token(str)–(可选)下一个“斑点”的不透明标记。如果未通过,将返回Blob的第一页。
这意味着结果将是单页结果,并page_token确定哪一页。这是不正确的。结果迭代器遍历多个页面。什么page_token实际上代表的是迭代器应该哪个页面START的。如果没有page_token提供,它将从第一页开始。
max_results 限制迭代器返回的结果总数。
如果需要,迭代器会公开页面:
for page in bucket.list_blobs().pages:
for blob in page:
print blob.name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1413 次 |
| 最近记录: |