AWS S3 API-按元数据搜索

Aru*_*run 6 amazon-s3 amazon-web-services

我使用AWS s3每小时存储几千个文件,它的工作原理很吸引人。我很好奇我是否可以根据时间或日期或这些对象的任何元数据过滤它们。我能够运行节点进程来获取对象列表,并播放日期和时间,但不能播放元数据。还有其他方法吗?还是更好的选择?

Nat*_*rot 8

不,您不能使用 S3 API 过滤元数据。

要执行您的要求,您需要在存储上列出对象 ( GET Bucket ) 以获取所有键,然后分别请求每个键的元数据 ( HEAD Object )。然后在您自己的代码中,您可以过滤掉不匹配的对象。

显然,如果您有几千个以上的对象,那么实时运行会非常慢。您要么希望根据前缀过滤到可管理的数字,要么自己保留索引(可能是弹性搜索?)。通常在对象键中编码一些元数据,以便您可以按前缀过滤。

  • 这个答案自 2015 年以来有变化吗?我现在正在研究这个。 (5认同)