Liste des fichiers dans un "dossier" spécifique d'un compartiment AWS S3

J'ai besoin de la liste de tous les fichiers contenus dans un dossier précis contenus dans mon compartiment S3.

La structure de dossier est la suivante

/my-bucket/users/<user-id>/contacts/<contact-id>

J'ai des fichiers concernant les utilisateurs et les fichiers liés à un certain contact de l'utilisateur.
J'ai besoin de la liste à la fois.

À la liste des fichiers, je suis en utilisant ce code:

ListObjectsRequest listObjectsRequest = new ListObjectsRequest().withBucketName("my-bucket")
                .withPrefix("some-prefix").withDelimiter("/");
ObjectListing objects = transferManager.getAmazonS3Client().listObjects(listObjectsRequest);

À la liste un certain fichiers de l'utilisateur, je suis en utilisant ce préfixe:

users/<user-id>/

et je suis correctement l'obtention de tous les fichiers dans le répertoire à l'exclusion de contacts sous-répertoire, par exemple:

users/<user-id>/file1.txt
users/<user-id>/file2.txt
users/<user-id>/file3.txt

À la liste un certain utilisateur de contacter les fichiers au lieu de cela, je suis en utilisant ce préfixe:

users/<user-id>/contacts/<contact-id>/

mais dans ce cas, je suis aussi l'
répertoire lui-même comme un objet retourné:

users/<user-id>/contacts/<contact-id>/file1.txt
users/<user-id>/contacts/<contact-id>/file2.txt
users/<user-id>/contacts/<contact-id>/

Pourquoi suis-je ce comportement? Ce qui est différent entre les deux demandes? J'ai besoin de lister les fichiers dans le répertoire, à l'exclusion des sous-répertoires.

source d'informationauteur davioooh