我试图列出所有所谓的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:由于是新用户,无法直接在帖子中添加照片。
添加回答
举报
0/150
提交
取消