2014-05-22 1 views
2

Lorsque j'utilise la méthode listObjects(), AWS retourne une liste des fichiers et des dossiers similaires à ceci:AWS S3 JAVA SDK - listObjects retourne des listes d'annuaire incomplet

root/ 
root/projects/ 
root/projects/101/ 
root/projects/102/ 
root/projects/102/file1.pdf 
root/images/image1.png 
root/images/image2.png 
root/favicon.ico 

Mes résultats ne sont pas tronqués, et je Je me demande pourquoi il ne retourne pas un enregistrement pour root/images/ Je n'utilise pas la fonction de délimitation.

+0

[jcabi-s3] (http://s3.jcabi.com) peut vous aider, vérifier cela: http://www.yegor256.com/2014/05/26/ amazon-s3-java-oop-adapter.html – yegor256

Répondre

0

Si vous utilisez comme suit, l'objet liste aura tous les objets dans le compartiment S3. ListObjectsRequest lor = new ListObjectsRequest(). AvecBucketName ("myBucket"); ObjectListing objectListing = s3.listObjects (lor);

Si vous voulez avoir des objets que dans un répertoire spécifié comme vous le dites root/images, vous devez spécifier que

ListObjectsRequest Lor = new ListObjectsRequest(). WithBucketName ("MyBucket"). WithPrefix ("image/");

Hope it helps

+0

Je crois que la question est de savoir pourquoi le dossier racine/images n'apparaît pas sur sa propre ligne, alors que root/projets le fait par exemple. Je n'ai pas vu ce comportement mais je serais curieux de le savoir aussi. – Carl