Tôi đang sử dụng SDK AWS IOS và cố liệt kê tất cả các tệp trong FOLDER.Amazon AWS IOS SDK: Cách liệt kê TẤT CẢ tên tệp trong FOLDER
Mã này hoạt động để liệt kê tất cả các tập tin vv trong một cái xô:
-(void) s3DirectoryListing: (NSString *) bucketName {
s3Client = [[AmazonS3Client alloc] initWithAccessKey:ACCESS_KEY withSecretKey:SECRET_KEY];
@try {
S3ListObjectsRequest *req = [[S3ListObjectsRequest alloc] initWithName:bucketName];
S3ListObjectsResponse *resp = [s3Client listObjects:req];
NSMutableArray* objectSummaries = resp.listObjectsResult.objectSummaries;
for (int x = 0; x < [objectSummaries count]; x++) {
NSLog(@"objectSummaries: %@",[objectSummaries objectAtIndex:x]);
}
}
@catch (NSException *exception) {
NSLog(@"Cannot list S3 %@",exception);
}
}
Vì vậy, nếu tôi vượt qua một tên bucketName, công trình này. Tuy nhiên nếu tôi cố gắng và vượt qua bucketName/folderName "Tôi nhận được một thông báo lỗi. Mã này dường như không thích sự kết hợp của xô và đường dẫn thư mục kết hợp.
Bất kỳ ý tưởng đánh giá cao.
Tuyệt vời. Cảm ơn Viccari – Jeremy
Trên thực tế để làm việc này, bạn phải đặt tiền tố là "folderName1 /". Nó không quá rõ ràng với tôi trước khi đọc tài liệu mà tiền tố phải bao gồm dấu phân cách để làm việc ... – vdaubry
Một điều cần lưu ý: Tập kết quả bị cắt ngắn ở 1000. Kiểm tra cờ isTruncated và chạy các yêu cầu liên tiếp với một điểm đánh dấu cho biết đối tượng cuối cùng thu được. – Stavash