2012-11-08 2 views
7

Wenn ich Objektzusammenfassungen von S3 über amazonS3Client.listObjects() anfordere, wird die Liste in alphabetischer Reihenfolge zurückgegeben.Kann Amazons S3 Objektzusammenfassungen in Datumsreihenfolge zurückgeben?

Kann jemand S3, um die Objekte in Datum (lastModified) Reihenfolge zurückzugeben, damit die neuesten Objekte zuerst zurückgegeben werden?

Danke.

+0

Wenn Sie sie als 'list' laden, können Sie Bestell Sie wie auch immer Sie mit 'Comparator' möchten, nachdem sie heruntergeladen wurden –

+3

danke, ja ich kann bestellen, was mit Komparator zurückgegeben wird, aber wenn ich mehr als 1000 Elemente im Bucket haben, garantiert es nicht, dass die neuesten Objekte innerhalb der ersten zurückgegeben werden 1000, auch mit einer mobilen App verwende ich Paginierung und nur 20 Elemente gleichzeitig anfordert. Ich würde daher erfordern s3, mir nur die neuesten Objekte zuerst –

Antwort

0

Interessantes Problem. Meiner Meinung nach ist das Problem mit ListObject, dass Sie die Objekte herunterladen müssen, die in GB-Größen sein können.

Es gibt keine Lösung, aber ich fand eine Abhilfe im. NET-Entwicklungsforum.

Link to development forum

1

sortieren Sie einfach die Liste nach

Java 8

s3ObjectSummaries.sort(Comparator.comparing(S3ObjectSummary::getLastModified)); 

Vor

Collections.sort(s3ObjectSummaries, new Comparator<S3ObjectSummary>() { 
    public int compare(S3ObjectSummary o1, S3ObjectSummary o2) { 
     return o1.getLastModified().compareTo(o2.getLastModified()); 
    } 
}); 
+1

zurückgeben Dies wird nicht funktionieren, wenn ListObject Ergebnis abgeschnitten ist (dh paginiert) – bla

Verwandte Themen