AWS S3按名称查找文件

时间:2020-04-28 23:08:01

标签: node.js amazon-web-services amazon-s3 aws-sdk aws-sdk-nodejs

我真的很惊讶,没有简单的方法可以通过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'
};

1 个答案:

答案 0 :(得分:1)

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

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

如果需要进行扫描并实时获取对象,我建议还将对象密钥保存到其他数据结构中以进行快速查询。

相关问题