node.js - 为什么使用适用于 JavaScript 的 AWS 开发工具包列出 S3 存储桶文件夹中的对象会返回空的 Contents 数组但 KeyCount 大于 1?
问题描述
我在 S3 中有一个名为myBucketName的存储桶。它有一个名为myFolderName的文件夹,其中包含一个文件myFile。
我尝试像这样列出文件夹中的对象:
s3.listObjectsV2({
Bucket: 'myBucketName',
Delimiter: "/",
Prefix: 'myFolderName',
})
随着回应
{
IsTruncated: false,
Contents: [],
Name: 'myBucketName',
Prefix: 'myFolderName',
Delimiter: '/',
MaxKeys: 1000,
CommonPrefixes: [ { Prefix: 'myFolderName/' } ],
KeyCount: 1
}
Contents
即使KeyCount
是 1 ,为什么数组是空的?我本来希望包含一个带有 Key == 'myFolderName/myFile' 的项目
我应该怎么做才能获得所需的结果,即文件夹中的对象列表?
解决方案
列出对象时使用Prefix: 'myFolderName/'
(带有正斜杠)。/
它告诉您在您询问的文件夹中只有一个“对象”(一个文件夹)。
推荐阅读
- javascript - JSON.parse(JSON.stringify(obj)) 如何深度克隆一个对象?
- android-studio - 如何在部分匹配“名称”的文件中搜索字符串
- phpstorm - 在文件级别标记为符合 PSR
- outlook-redemption - RDOSession.LogonExchangeMailbox 不尝试登录
- typescript - 是否有输出纯 TypeScript 文件的协议缓冲区编译器?
- c# - 让多个 .NET 应用程序相互通信的最佳方式
- javascript - 如何使用 Three.js 制作视差效果
- python - 我想在 python 中使用 ORM 将数据添加到我的表中
- reactjs - #reactjs 编译失败
- javascript - 如何在同一管道中传输两个数据流/可观察对象?