AWS S3按名称查找文件



我真的很惊讶,没有一种简单的方法可以通过aws-sdk节点包扫描S3中的所有文件,并通过他的名字或一些正则表达式找到一些文件。

以下是文件夹结构的示例:

- mainDirectory
- directoryOne
(...)
- file1.png
- file2.png
(...)
- directoryTwo
(...)
- file11.png
- file22.png
( ...)
- directoryThree
(...)
- file111.png
- file222.png
(...)

有没有任何选项可以使用DelimiterPrefix来列出每个名为file(...)的目录中的文件?

尝试过这个:

const params = {
Bucket: process.env.AWS_S3_BUCKET,
Delimiter: '/',
Prefix: 'file'
};

否,list api中的前缀用于从头开始匹配对象键,而不是相对于键的一部分。

如果你有大量的物品,时间对你来说并不重要,那么我建议你设置S3库存来生成每日库存报告。然后,您可以使用带有一些SQL查询的Athena来处理它。

如果你需要扫描它并实时获取对象,我建议你也将对象键保存到其他数据结构中,以便快速查询。

最新更新