【发布时间】:2019-02-25 20:53:07
【问题描述】:
我想知道是否有人知道 s3 前缀到底是什么以及它如何与亚马逊的 published s3 rate limits 交互:
Amazon S3 自动扩展到高请求率。例如, 您的应用程序可以达到至少 3,500 PUT/POST/DELETE 和 5,500 存储桶中每个前缀的每秒 GET 请求数。没有限制 桶中前缀的数量。
虽然这很清楚,但我不太确定前缀是什么?
前缀是否需要分隔符?
如果我们有一个存储桶,我们将所有文件存储在“根”级别(完全平坦,没有任何前缀/分隔符),这是否算作单个“前缀”,是否受上面发布的速率限制?
我解释amazon's documentation 的方式向我表明情况就是这样,扁平结构将被视为单个“前缀”。 (即受上述公布的速率限制)
假设您的存储桶(管理员创建)有四个对象 以下对象键:
开发/Projects1.xls
财务/statement1.pdf
私人/taxdocument.pdf
s3-dg.pdf
s3-dg.pdf 键没有前缀,所以出现了它的对象 直接在存储桶的根级别。如果您打开开发/ 文件夹,您会在其中看到 Projects.xlsx 对象。
在上述示例中,s3-dg.pdf 是否会受到与其他每个前缀(开发/财务/私人)不同的速率限制(5500 GET 请求/秒)?
更令人困惑的是,我读过一些关于亚马逊使用前 N 个字节作为分区键并鼓励使用高基数前缀的博客,我只是不确定它如何与带有“平面”的存储桶交互文件结构”。
【问题讨论】:
-
对于键
s3-dg.pdf,分区键将是s3-dg.,请参阅下面的扩展答案。 -
为了增加混淆,请考虑来自 documentation 的以下语句:“Amazon S3 自动扩展以响应持续的新请求率,动态优化性能。而 Amazon S3 在内部针对新的请求率,您将暂时收到 HTTP 503 请求响应,直到优化完成。在 Amazon S3 内部针对新的请求率优化性能后,所有请求通常都会得到处理而无需重试。”
标签: amazon-web-services amazon-s3