AWS IOS SDKを使用していて、フォルダ内のすべてのファイルを一覧表示しようとしています。Amazon AWS IOS SDK:フォルダ内のすべてのファイル名を一覧表示する方法
このコードは、バケット内など、すべてのファイルを一覧表示するに動作します:
-(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);
}
}
だから私はbucketName名を渡した場合、これは動作します。私がしようとするとbucketName /フォルダ名を渡す場合は、「私は、エラーメッセージが表示されます。このコードは、バケットとフォルダパスの組み合わせの組み合わせを好むようには見えません。
すべてのアイデアが高く評価した。
素晴らしい。ありがとうViccari – Jeremy
これは実際には "folderName1 /"にプレフィックスを設定する必要があります。ドキュメントを読む前に私には分かりませんでした。 – vdaubry
もうひとつ注意すべきこと:結果セットが1000で切り捨てられています。isTruncatedフラグをチェックし、連続したリクエストを実行します得られた最後の物体を示すためのマーカを付ける。 – Stavash