为什么使用 AWS SDK 为 JavaScript returns 空内容数组列出 S3 存储桶文件夹中的对象,但 KeyCount 大于 1?

Why does listing objects in an S3 bucket's folder using AWS SDK for JavaScript returns empty Contents array but KeyCount greater than one?

我在 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/'(带正斜杠 /)。它告诉您在您询问的文件夹中只有一个 "object"(一个文件夹)。