Amazon S3 has a global namespace. (i.e. No two S3 buckets can have the same name.) It's similar to how DNS works where each domain name must be unique. Therefore, you need to use a unique bucket name when creating S3 buckets. Before you start creating S3 buckets, it's important to first understand valid syntax for bucket names as well as best practices.
Manage AWS more efficiently with RightScale: Try it free.
Although Amazon will allow you to use capital letters and periods in the namespace, it is not recommended because of the naming restrictions that are enforced by DNS. In order to conform with DNS requirements, we recommend following these additional guidelines when creating buckets:
There is no limit to the number of objects that can be stored in an S3 bucket and no variation in performance when using many buckets or just a few. You can store all of your objects in a single bucket or organize them across several buckets. Buckets cannot be nested, meaning buckets cannot be created within buckets. The high availability engineering of Amazon S3 is focused on get, put, list, and delete operations. Because bucket operations work against a centralized, global resource space, it is not appropriate to make bucket create or delete calls on the high availability code path of your application. It is better to create or delete buckets in a separate initialization or set up a routine that you run less often.
© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.