reactjs - 如何从 React js 中的 s3 存储桶中获取 5 个最新文件?
问题描述
我正在使用 aws-sdk 获取对象列表,如下所示:
const AWS = require('aws-sdk/global');
const S3 = require('aws-sdk/clients/s3');
AWS.config.update({ accessKeyId: 'abc123', secretAccessKey: 'teyb3872312', region: 'eu-west-1' });
const s3 = new AWS.S3();
const params = {
Bucket: 'demo-bucket',
Delimiter: '',
Prefix: '',
};
s3.listObjectsV2(params, (err, data) => {
if (err) throw err;
console.log(data.Contents);
})
从这段代码中,我从存储桶中获取了所有数千个对象,但只需要存储桶中的 5 个最新对象。
请建议是否有人知道解决方案。
解决方案
无法根据 请求列表LastModified
。
相反,您的应用程序需要检索整个列表,然后对返回的对象进行排序LastModified
,然后选择最新的 5 个。
另外,请注意,每次调用最多将返回 1000 个对象。您将需要使用延续令牌来请求接下来的 1000 个对象,并不断重复直到列表完成。
如果您将定期执行此操作,您还可以考虑使用Amazon S3 Inventory,它可以提供存储桶中所有对象的每日列表。
推荐阅读
- c - 将制表符分隔的数据读取到C中的数组
- reactjs - 由于 webpack gl 错误,下一次构建失败
- python - 每个 subplotSpec 的标题(子图中的子图)
- node.js - 带有 localhost:3000 的 http-server 给出 ERR_INVALID_REDIRECT
- javascript - 找不到模块“connect-session-knex”的声明文件
- javascript - 如何使 D3 碰撞力仅适用于 X
- c# - 在 Windows 窗体初始化 (MVC) 时触发事件/加载数据
- python - 包含熊猫数据框列中的函数(AttributeError:'str'对象没有属性'str'
- iif - 查询中的 MS Access 3 条件?
- c++ - C++ 包含标头/前向声明顺序