For Amazon S3 request rates, what's the difference between prefixes and nested folders? How many prefixes can I have in an S3 bucket?
Last updated: 2022-08-24
For Amazon Simple Storage Service (Amazon S3) request rates, what's the difference between key prefixes and nested folders? How many prefixes can I have in an S3 bucket?
A key prefix is a string of characters that can be the complete path in front of the object name (including the bucket name). For example, if an object (123.txt) is stored as BucketName/Project/WordFiles/123.txt, the prefix might be “BucketName/Project/WordFiles/123.txt”. The prefix can be any length, including the entire object key name.
If the 123.txt file is saved in a bucket without a specified path, Amazon S3 automatically adjusts the prefix value according to the request rate. Partitions can be automatically formed at any point in the prefix string.
A partitioned prefix in a bucket can support 3,500 PUT/COPY/POST/DELETE or 5,500 GET/HEAD requests per second. There is no limit to the number of prefixes that you can have in a bucket. However, be aware that a spike in the request rate can cause throttling.
Note: In Amazon S3, there are no partitions for keys or objects. Partitions exist only at the prefix level, and not at the object level. For more information about using prefixes in Amazon S3, see Organizing objects using prefixes.
In Amazon S3, folders are used to group objects and organize files. Unlike a traditional file system, Amazon S3 doesn't use hierarchy to organize its objects and files. Amazon S3 console supports the folder concept only as a means of grouping (and displaying) objects.
More specifically, a folder is the value between the two "/" characters. For example, if a file is stored as BucketName/Project/WordFiles/123.txt, the file path indicates that there is a folder ("Project") and subfolder ("WordFiles"). Both "Project" and "WordFiles" are considered to be folders. If the 123.txt file is saved in a bucket without a specified path, then no folders are used to store the file.
Note: The folder structure might not indicate any partitioned prefixes that support request rates.
Difference between prefixes and folders
The difference between a prefix and a folder is the significance of the "/" character. For folders, the "/" character signifies a subfolder or object name. For prefixes, "/" is just another character. The "/" does not indicate a partition placement.
Note: The folder structure only applies to the Amazon S3 console. For more information, see Organizing objects in the Amazon S3 console using folders.