按日期查询AmazonS3对象



我有一个亚马逊S3存储桶,其结构如下:

%patientId%/%sessionId%/列出其名称为日期时间的文件。患者id和会话id是唯一的。两名患者的水桶示例:

  • 患者1/会话1/2021-05-29T061445Z.xxx
  • 患者1/会话1/2021-05-30T061445Z.xxx
  • 患者2/会话2/2021-05-31T061445Z.xxx

每个会话可能包含数千个文件。文件名是日期,我更喜欢(除非没有其他选择(不使用"日期";最后修改时间";亚马逊S3,因为我们可能在这两个日期之间有差异。

我想按患者/会话和时间(文件名称(进行查询,例如2021-05-20至2021-05-29之间的患者1、会话1的所有文件。

我知道使用标准的AmazonS3列表对象是不可能的。我检查了AWS Athena,但它似乎更适合查询Amazon S3文件内容,而不是按它们的名称查询。那么,推荐的解决方案是什么呢?谢谢,

如果您有大量对象,您可以考虑维护自己的对象数据库。应在添加/删除对象时更新此数据库。这听起来可能需要做很多工作,但它对您的应用程序来说会表现得很好。

您可以使用AmazonS3 Inventory来填充初始列表,它可以提供每天或每周的CSV文件,列出存储桶中的所有对象。

最新更新