Ios7 如何在objective C中设置S3ListObjectsRequest.marker以在Amazon S3中获得下一批结果?
当一个桶中有1000多个文件时,我试图获取所有文件的列表。我试过了,但没用Ios7 如何在objective C中设置S3ListObjectsRequest.marker以在Amazon S3中获得下一批结果?,ios7,amazon-s3,Ios7,Amazon S3,当一个桶中有1000多个文件时,我试图获取所有文件的列表。我试过了,但没用 @try { S3ListObjectsRequest *req = [[S3ListObjectsRequest alloc] initWithName:bucketName]; req.maxKeys = 2000; // Didn't do anything! S3ListObjectsResponse *resp = [self.s3 listObjects:req]; NSMut
@try {
S3ListObjectsRequest *req = [[S3ListObjectsRequest alloc] initWithName:bucketName];
req.maxKeys = 2000; // Didn't do anything!
S3ListObjectsResponse *resp = [self.s3 listObjects:req];
NSMutableArray* objectSummaries = resp.listObjectsResult.objectSummaries;
NSLog(@" Found a total of %d files\n",[objectSummaries count]);
// Also didn't work
if (resp.listObjectsResult.isTruncated) {
req.marker = [objectSummaries objectAtIndex:999];
S3ListObjectsResponse *resp = [self.s3 listObjects:req];
NSMutableArray* objectSummaries = resp.listObjectsResult.objectSummaries;
NSLog(@" Found another %d files\n",[objectSummaries count]);
}
}
通过如下方式设置marker/lastKey找到答案
NSString *lastKey = @"";
// For first 1000
for (S3ObjectSummary *objectSummary in listObjectsResults.objectSummaries) {
[objects addObject:[objectSummary key]];
lastKey = [objectSummary key];
}
// note: got lastKey above!
while (listObjectsResults.isTruncated) {
req = [[S3ListObjectsRequest alloc] initWithName:[self soundBucket]];
req.marker = lastKey;
.......