amazon s3 - Why are S3 and Google Storage bucket names a global namespace? -


this has me puzzled. can understand why account id's global, why bucket names?

wouldn't make more sense have like: https://accountid.storageservice.com/bucketname

which namespace buckets under accountid.

what missing, why did these elite architects choose handle bucket names way?

“the bucket namespace global - domain names”

http://aws.amazon.com/articles/1109#02

that's more coincidental.

the reason seems simple enough: buckets , objects can accessed through custom hostname that's same bucket name... , bucket can optionally host entire static web site -- s3 automatically mapping requests incoming host: header onto bucket of same name.

in s3, these variant urls reference same object "foo.txt" in bucket "bucket.example.com". first 1 works static website hosting enabled , requires dns cname (or alias in route 53) or dns cname pointing regional rest endpoint; others require no configuration:

http://bucket.example.com/foo.txt http://bucket.example.com.s3.amazonaws.com/foo.txt http://bucket.example.com.s3[-region].amazonaws.com/foo.txt http://s3[-region].amazonaws.com/bucket.example.com/foo.txt    

if object store service needs simple mechanism resolve host: header in http incoming request bucket name, bucket name namespace needs global. else, seems, complicate implementation significantly.

for hostnames mappable bucket names, something has globally unique, since no 2 buckets respond same hostname. restriction being applied bucket name leaves no room ambiguity.

it seems many potential clients wouldn't have account identified in bucket names.

of course, add account id, or random string, desired bucket name, e.g. jozxyqk-payroll, jozxyqk-personnel, if bucket name wanted wasn't available.


Comments

Popular posts from this blog

database - VFP Grid + SQL server 2008 - grid not showing correctly -

jquery - Set jPicker field to empty value -

.htaccess - htaccess convert request to clean url and add slash at the end of the url -