Amazon S3 客户端未列出存储桶中的所有文件夹

我试图列出所有所谓的folders和sub-folders在一个s3桶中。现在,当我试图递归地列出路径中的所有文件夹时,我没有使用withDelimeter()函数。所有所谓的folder名称都应该以 结尾,/这是我列出所有文件夹和子文件夹的逻辑。


这是scala代码(故意不在catch这里粘贴代码):


val awsCredentials = new BasicAWSCredentials(awsKey, awsSecretKey)

val client = new AmazonS3Client(awsCredentials)

def listFoldersRecursively(bucketName: String, fullPath: String): List[String] = {

  try {

    val objects = client.listObjects(bucketName).getObjectSummaries

    val listObjectsRequest = new ListObjectsRequest()

      .withPrefix(fullPath)

      .withBucketName(bucketName)

    val folderPaths = client

      .listObjects(listObjectsRequest)

      .getObjectSummaries()

      .map(_.getKey)

    folderPaths.filter(_.endsWith("/")).toList

  }

}

在没有任何明显模式的情况下,检索到的文件夹列表中缺少许多文件夹。我没有使用

client.listObjects(listObjectsRequest).getCommonPrefixes.toList

因为它由于某种原因返回空列表。

PS:由于是新用户,无法直接在帖子中添加照片。


一只名叫tom的猫
浏览 288回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java