listNextBatchOfObjects() 请求对象

listNextBatchOfObjects() Request Object

AWS s3 客户端在对现有列表执行 listNextBatchOfObjects 时是否发出请求?例如:

   while (listing.isTruncated()) {
        listing = amazonS3Client.listNextBatchOfObjects(listing);
        final int paginatedObjectCount = listing.getObjectSummaries().size();
        objectCount += paginatedObjectCount;
    }

在这种情况下,amazonS3Client.listNextBatchOfObjects(listing) 行会向 S3 发出请求吗?如果是这样,有没有办法从这个请求中得到响应?

我想我明白了。您可以手动构造响应,因此上面的代码变成:

        ListNextBatchOfObjectsRequest nextBatchOfObjectsRequest = new ListNextBatchOfObjectsRequest(listing);
        listing = amazonS3Client.listNextBatchOfObjects(nextBatchOfObjectsRequest);
        S3ResponseMetadata s3ResponseMetadata = amazonS3Client.getCachedResponseMetadata(nextBatchOfObjectsRequest);
        final int paginatedObjectCount = listing.getObjectSummaries().size();
        objectCount += paginatedObjectCount;