Amazon S3 lista de "directorios"
He creado una jerarquía en S3 a través de la consola de administración de AWS S3. Si ejecuto el siguiente código para listar el cubo:
AmazonS3 s3 = new AmazonS3Client(CRED);
ListObjectsRequest lor = new ListObjectsRequest()
.withBucketName("myBucket")
.withPrefix("code/");
ObjectListing objectListing = s3.listObjects(lor);
for (S3ObjectSummary summary: objectListing.getObjectSummaries()) {
System.out.println(summary.getKey());
}
Yo obtengo:
code/
code/03000000-0001-0000-0000-000000000000/
code/03000000-0001-0000-0000-000000000000/special.js
code/03000000-0001-0000-0000-000000000000/test.js
code/03000000-0002-0000-0000-000000000000/
Que es exactamente lo que esperaría. Sin embargo, si agrego un delimitador, de modo que solo enumero el contenido directamente en "código /" ahora no obtengo ningún sub "directorio".
Cambie la línea de arriba (agregue withDelimiter () al final) a:
ListObjectsRequest lor = new ListObjectsRequest().withBucketName("myBucket")
.withPrefix("code/")
.withDelimiter("/");
Y ahora solo me sale:
code/
Sé que S3 no tiene "directorios", en lugar de claves delimitadas, ¿pero este comportamiento parece extraño? ¿Cómo listaría lo que está justo debajo del "código"?