在包含大量键的 S3 存储桶中,通过 REST api 列出键是一个非常缓慢的过程,因为
- 您一次只能列出 1000 个键。
- 确定第 5001 个键的唯一方法(据我所知)是列出前 1000 个键,根据响应中的下一个标记列出下一个键,然后递归直到到达 5001。
- S3 REST api 请求延迟非常高,1000 个键的请求通常需要几秒钟。
鉴于制作 100 个并发键列表 REST 请求不应减慢任何单个请求的速度,否则此过程将成熟,可以通过并行化进行优化。但是如果我的算法是“愚蠢的”并且只是将可能的密钥空间拆分为预定义的标记(例如,'','a','b','c','d','e'...... ) 它不会真正加快在每个键都以“images/”开头的存储桶中列出键的速度
所以我想知道是否有人真正体验过 S3 知道更好的方法来遍历存储桶的密钥空间,或者是否有人尝试过自适应(即“不愚蠢”)算法来改进并发密钥列表。