javascript - 如何使用 aws-sdk-js 列出某个日期范围内的对象?

标签 javascript amazon-web-services amazon-s3 aws-sdk-js

我希望使用 aws s3 javascript sdk 列出两个日期之间存储在 S3 存储桶中的所有对象。根据 ListObjects函数中除了前缀分隔符之外没有任何参数允许执行此操作,但在我的情况下它们是无用的。 有没有解决方案可以做到这一点,或者我必须获取返回的数据,然后根据 LastModified 过滤它们?

最佳答案

根据文档和我根据issue 3102得到的答案,在编写此答案时没有现有的 api,因此我手动执行:

async function filteredKeysByDate(startDate, endDate) {
const listedObjects = await s3.listObjects({
Bucket: 'myBucket'
Prefix: 'prefix'})

 return listedObjects.reduce((acc, file) => {
  if (file.LastModified >= startDate && file.LastModified <= endDate) {
    acc= acc.concat(file)
  }
   return acc;
  }, [])
} 

关于javascript - 如何使用 aws-sdk-js 列出某个日期范围内的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60297416/

相关文章:

java - 无法打开使用 spring-boot 下载的 S3 zip 文件

javascript - 如何判断 D3 强制布局何时停止

javascript - 将 ng-repeat 中的值与 php 值进行比较

amazon-web-services - 在 AWS Lambda 上使用 boto3 启动和终止 EMR 集群

amazon-web-services - AWS ElasticSearch 不接受某些 CloudTrail 文档

python - 使用 Django-storages 删除 Amazon S3 中的文件

javascript - 使用 JS 覆盖 CSS 类

javascript - 在 JavaScript 中打印数字的递归函数

amazon-web-services - 这些设置对于 S3 中的阻止公共(public)访问设置意味着什么?

amazon-s3 - 当对象上传到 S3 存储桶时,如何触发 AWS Cloudformation 堆栈的更新?