Używam zestawu SDK AWS IOS i próbuję wyświetlić listę wszystkich plików w FOLDERZE.Amazon AWS IOS SDK: jak wyświetlić listę WSZYSTKICH nazw plików w FOLDERZE
Ten kod działa do listy wszystkich plików itp w wiadrze:
-(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);
}
}
Więc jeśli mijam nazwę bucketName, to działa. Jednak gdy próbuję i przekazać bucketName/NazwaFolderu „pojawia się komunikat o błędzie. Kod ten nie wydaje się podoba połączenie kombinacji wiadro i ścieżkę foldera.
Wszelkie pomysły mile widziane.
Fantastyczne. Dzięki Viccari – Jeremy
Aby to zadziałało, musisz ustawić prefiks na "folderName1 /". Przed odczytaniem dokumentu nie było to tak oczywiste, że przedrostek musi zawierać ogranicznik, aby działał ... – vdaubry
Kolejna rzecz, na którą należy zwrócić uwagę: Zestaw wyników jest obcięty w 1000. Sprawdź flagę isTruncated i uruchom kolejne żądania z znacznikiem do oznaczenia ostatniego otrzymanego przedmiotu. – Stavash