2012-11-08 9 views
7

Quando richiedo i riepiloghi degli oggetti da S3 tramite , l'elenco viene restituito in ordine alfabetico della chiave.Può Amazon S3 restituire riepiloghi degli oggetti in ordine di data?

Qualcuno sa come ottenere S3 per restituire gli oggetti in ordine di data (lastModified), quindi gli oggetti più recenti vengono restituiti per primi?

Grazie.

+0

Se caricarli come 'list', è possibile ordinali in qualsiasi modo ti piaccia con 'Comparator' dopo che sono stati scaricati –

+3

grazie, sì posso ordinare ciò che viene restituito usando il comparatore, ma se ho più di 1000 elementi nel bucket non garantisce che gli oggetti più recenti vengano restituiti entro il primo 1000, anche con un'app mobile sto usando l'impaginazione e richiedo solo 20 elementi alla volta. Richiedo quindi a s3 di restituire solo gli oggetti più recenti prima –

risposta

0

Interessante problema. A mio parere il problema con ListObject è che devi scaricare gli Oggetti, che possono essere in GB.

Non c'è alcuna soluzione al riguardo ma ho trovato una soluzione alternativa nel forum di sviluppo .net.

Link to development forum

1

Basta ordinare l'elenco dopo

Java 8

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

Prima

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

Questo non funzionerà se il risultato di ListObject viene troncato (es. impaginato) – bla