Ich versuche, alle Dateipfade in einem Eimer zu bekommen. Mit der Funktion listobjects kann ich das erreichen. Aber es gibt ein Dateipfadproblem.Amazon S3 - Kopieren eingefügten Dateipfad Problem
Betrachten Sie dies ist die Ordnerstruktur
SampleBucket -> A (Stammordner) -> B (Unterordner) -> c (Unterordner innerhalb B)
Was ich brauche, ist
http://SampleBucket.s3.amazonaws.com/A/
http://SampleBucket.s3.amazonaws.com/A/B/
http://SampleBucket.s3.amazonaws.com/A/B/C
Was ich bekomme ist
http://SampleBucket.s3.amazonaws.com/A/
http://SampleBucket.s3.amazonaws.com/A/B/C
Dies geschah, als ich "A" Ordner & Kopie eingefügt "B" Ordner von meinem lokalen Laufwerk zu Cloud-Beere erstellt
Dies ist mein Code, um alle Ordner & Dateien in einem Eimer zu bekommen.
public List<S3ObjectSummary> getObjectslistFromFolder(String bucketName, String folderKey) {
AWSCredentials awsCreds = new BasicAWSCredentials(accessKey, secretKey);
AmazonS3 s3client = new AmazonS3Client(awsCreds);
ObjectListing current = s3client.listObjects(bucketName,folderKey);
List<S3ObjectSummary> keyList = current.getObjectSummaries();
current = s3client.listNextBatchOfObjects(current);
while (current.isTruncated()){
keyList.addAll(current.getObjectSummaries());
current = s3client.listNextBatchOfObjects(current);
}
keyList.addAll(current.getObjectSummaries());
return keyList;
}
Ich habe meine Frage bearbeitet. Bitte überprüfen. Ich habe den B-Ordner im Stammordner nicht gelöscht. In einem Ordner eingefügt. – Hari
ok aktualisiert die Antwort. – at0mzk