S3 Bucket Naming Rules
If you are not familiar with S3 you might go through a good amount of tries before you find the right name for S3 bucket. I know I did.
Screenshot from RING S3 Service -> S3 Browser: creating a new bucket using RING UI
Buckets are named so that objects are addressable using HTTP, therefore, they have to be DNS compliant names. Following are the rules for naming S3 buckets :
- Bucket names must be unique across all existing bucket names.
- Bucket names must be at least 3 and no more than 63 characters long.
- Bucket names must not contain uppercase characters or underscores.
- Bucket names must start with a lowercase letter or number.
- Bucket names must be a series of one or more labels. Adjacent labels are separated by a single period (.). Bucket names can contain lowercase letters, numbers, and hyphens. Each label must start and end with a lowercase letter or a number.
- Bucket names must not be formatted as an IP address (for example, 192.168.5.4).
- When you use virtual hosted–style buckets with Secure Sockets Layer (SSL), the SSL wildcard certificate only matches buckets that don’t contain periods. To work around this, use HTTP or write your own certificate verification logic. We recommend that you do not use periods (“.”) in bucket names when using virtual hosted–style buckets.
- After you create an S3 bucket, you can’t change the bucket name, so choose the name wisely.
Note: If your application automatically creates buckets, choose a bucket naming scheme that is unlikely to cause naming conflicts. Ensure that your application logic will choose a different bucket name if a bucket name is already taken.
If this does not solve your issues please get in touch with support