Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js AWS S3按名称查找文件_Node.js_Amazon Web Services_Amazon S3_Aws Sdk_Aws Sdk Nodejs - Fatal编程技术网

Node.js AWS S3按名称查找文件

Node.js AWS S3按名称查找文件,node.js,amazon-web-services,amazon-s3,aws-sdk,aws-sdk-nodejs,Node.js,Amazon Web Services,Amazon S3,Aws Sdk,Aws Sdk Nodejs,我真的很惊讶,没有一种简单的方法可以通过awsdknode包扫描S3中的所有文件,并通过他的名字或一些正则表达式找到一些文件 以下是文件夹结构的示例: - mainDirectory - directoryOne (...) - file1.png - file2.png (...) - directoryTwo (...) - file11.png - file2

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

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

- mainDirectory

    - directoryOne
        (...)
        - file1.png
        - file2.png
        (...)

    - directoryTwo
        (...)
        - file11.png
        - file22.png
        ( ...)

    - directoryThree
        (...)
        - file111.png
        - file222.png
        (...)
是否有任何选项可以使用
分隔符
前缀
来列出每个名为
文件(…)
的目录中的文件

我试过这个:

const params = {
    Bucket: process.env.AWS_S3_BUCKET,
    Delimiter: '/',
    Prefix: 'file'
};
否,中的前缀用于从开始匹配对象关键点,而不是相对于关键点的一部分

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

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