2011-11-01 4 views
4

J'ai besoin de télécharger toutes les heures 100 nouveaux fichiers du serveur s3.s3- boto- liste des fichiers dans un seau par le temps de téléchargement

bucketList = bucket.list(PREFIX) 

Le code ci-dessus crée la liste des fichiers, mais il est dépend pas du temps de téléchargement des fichiers, car il liste par nom de fichier?

Je ne peux rien faire avec le nom de fichier. Il est donné au hasard.

Merci.

Répondre

9

Quelle est la taille de la liste? Vous pouvez trier la liste sur le « last_modified » attr du

Key
orderedList = sorted(bucketList, key=lambda k: k.last_modified) 
keysYouWant = orderedList[0:100] 

Si votre liste est énorme cela peut ne pas être efficace. Consultez les docs en ligne pour la fonction list() dans boto.s3.bucket.Bucket.

2

Ma lecture de la documentation de l'opération List Objects, suggère que les objets sont toujours listés dans l'ordre alphabétique (par clé d'objet).

Si vous codez le temps de création de chaque objet dans la clé d'objet, vous pourrez peut-être réaliser ce que vous voulez.

Questions connexes