共计 1263 个字符,预计需要花费 4 分钟才能阅读完成。
这篇文章给大家介绍云计算对象存储 S3 访问方式是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
对象存储访问
S3 支持三种资源访问方式:
Path Style URL
Virtual-hosted Style URL
自定义域名
本质上,对象存储使用 bucket,key 来唯一标识一个对象,所以只要你告诉对象存储服务端这两个东西,那么理论上就能定位到这个数据。以上三种方式,总归都是为了获取到(bucket,object_key)。
Path Style URL
在 Path Style URL 中,bucket 的名字紧跟在 domain 之后,成为 URL path 的一部分。
http://s3endpoint/BUCKET
比如,如果有一个 photo.jpg 存放在 region 为 us-west-2,bucket 为 images 的 bucket 中。可以用以下方式来访问:
http://s3-us-west-2.amazonaws.com/images/photo.jpg
重点:
所有用户请求 Host 相同(旁白:在鱼龙混杂的互联网环境下,这种方式有个坑,思考下?)
bucket 和 key 在 URL 里面:/ {bucket} / {key}
Virtual-Hosted Style URL
在 Virtual-Hosted Style URL 中,bucket 的名称成了 subdomain:
http://BUCKET.s3endpoint
比如,如果有一个 photo.jpg 存放在 region 为 us-west-2,bucket 为 images 的 bucket 中。可以用以下方式来访问:
http://images.s3-us-west-2.amazonaws.com/photo.jpg
推荐使用 Virtual-Hosted Style 的访问方式。因为这个可以提高访问性能,少一跳。
重点:
bucket 取自 host 一部分
通过泛域名解析到公有云厂商服务器上
自定义域名
这个是初学者最难理解的一种访问方式。先说一个具体的例子,如果你要使用自定义域名下载访问对象,怎么操作?
首先,用户需要自己搞定一个能用的域名,并且把这个域名 cname 到你需要访问的 S3 endpoint;
其次,用户在厂商提供的对象存储的管理界面上配置绑定这个域名到某个 bucket;(旁白:这个只是存储一个 map 映射:域名到 bucket 的映射)
准备好了前面两个步骤,你就可以用自定义域名来访问资源:
// 注意:这里不需要指定 bucket,只需要指定对象 keyhttp://${自定义域名}.com/photo.jpg
解释下这两个步骤的作用:
第一个步骤:用户负责 S3 请求发到 S3 的服务器上,用户负责这个路径的连通
第二个步骤:对象存储服务端 会创建一个 map,负责解析这个域名到 bucket 的映射(旁白:对象存储服务器说,只要你请求发的过来,我就能找到这个域名对应的 bucket)
关于云计算对象存储 S3 访问方式是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。