首页 > 解决方案 > 用 boto3 检索字母间隔

问题描述

据我所知,boto3 返回按其键按字母顺序排序的对象。有没有办法从这个字母顺序中检索一个间隔而不检索所有对象,然后对结果进行分页?

示例:假设我在存储中有以下对象:

aa/example+0+0013399841.json
ba/example+0+0013400780.json
ba/example+0+0013403134.json
cj/example+0+0013416534.json
df/example+0+0013419528.json
ef/example+0+0013420605.json

我想要类似的东西get_interval(FirstPrefix='a', LastPrefix='d'),它可以让我得到与这些键相对应的对象(或更优选分页器):

ba/example+0+0013400780.json
ba/example+0+0013403134.json
cj/example+0+0013416534.json
df/example+0+0013419528.json

谢谢你的帮助。

标签: pythonamazon-web-servicesamazon-s3boto3

解决方案


list_objects_v2()命令有一个StartAfter参数:

StartAfter (string) -- StartAfter 是您希望 Amazon S3 开始列出的位置。Amazon S3 在此指定键之后开始列出。StartAfter 可以是存储桶中的任何键。

但是,有办法说“停在这个前缀上”。

请注意,该Prefix字段通常用于指定文件夹/子目录与Delimiter.


推荐阅读