【发布时间】:2022-04-30 02:51:42
【问题描述】:
我正在尝试使用以下代码列出 AWS S3 存储桶中的所有对象以及输入存储桶名称和过滤器前缀。
import scala.collection.JavaConverters._
import com.amazonaws.services.s3.AmazonS3Client
import com.amazonaws.services.s3.model.ListObjectsV2Request
val bucket_name = "Mybucket"
val fiter_prefix = "Test/a/"
def list_objects(str: String): mutable.Buffer[String] = {
val request : ListObjectsV2Request = new ListObjectsV2Request().withBucketName(bucket_name).withPrefix(str)
var result: ListObjectsV2Result = new ListObjectsV2Result()
do {
result = s3_client.listObjectsV2(request)
val token = result.getNextContinuationToken
System.out.println("Next Continuation Token: " + token)
request.setContinuationToken(token)
}while(result.isTruncated)
result.getObjectSummaries.asScala.map(_.getKey).size
}
list_objects(fiter_prefix)
我已经应用了延续方法,但我只是得到最后一个对象列表。例如前缀有 2210 个对象,我只取回 210 个对象。
问候 鲯鳅
【问题讨论】:
标签: scala amazon-web-services amazon-s3