Imagine you have dir1/dir2 with “directories” inside, each one with millions of “files”/objects. When you try to “ls” the dir1/dir2 by querying Prefix='dir1/dir2/' and Delimiter='/' S3 will still scan all the millions of objects starting with the prefix, and then filter out the ones that have a / after the prefix.
There’s no benefit or drawback on it’s own. The way the keys and queries work are geared to S3’s nature as a key value object store - which requires it to support keys that wouldn’t be valid file paths or that have different delimiters.
What makes that different from a “real directory”?
Imagine you have
dir1/dir2with “directories” inside, each one with millions of “files”/objects. When you try to “ls” thedir1/dir2by queryingPrefix='dir1/dir2/'andDelimiter='/'S3 will still scan all the millions of objects starting with the prefix, and then filter out the ones that have a/after the prefix.And the benefit of this is …
There’s no benefit or drawback on it’s own. The way the keys and queries work are geared to S3’s nature as a key value object store - which requires it to support keys that wouldn’t be valid file paths or that have different delimiters.