为Amazon S3存储桶密钥创建索引

时间:2020-06-17 22:21:28

标签: amazon-s3

索引S3密钥的一般策略是什么,这样可以查询密钥?知道多个S3操作不能在一个事务中进行,那么就不可能以这种方式创建索引:

putObject(...);
indexObject(...)

由于这里的方法putIndex不能保证与以前的方法处于同一事务中,因此,wire或其他连接错误将意味着第一个操作将没有索引。

1 个答案:

答案 0 :(得分:1)

没有“搜索” Amazon S3密钥的功能。最接近的功能是指定Prefix,它可以是目录路径,也可以是对象的部分名称。

一次ListObjects调用一次仅返回1000个对象。这意味着具有100,000多个对象的大型存储桶的检索速度可能很慢。

如果您需要快速的可搜索索引,则可以在DynamoDB中存储密钥列表。然后,在添加和删除对象时,使用Amazon S3 Events触发AWS Lambda函数,以更新DynamoDB。

或者,如果您有大量对象,但是它们不经常更改,则可以使用Amazon S3 Inventory获取包含所有对象列表的每日或每周CSV文件。