初探腾讯云对象存储服务

之前一直不太了解『对象存储是个什么玩意儿』。只是在腾讯云阿里云都见到过,但是不清楚也不太想了解

今天突然想了解它的契机是图床来着。
在我配置压缩博文的过程中,需要把图片资源压缩,我选择了webp。正当我要把webp文件传到图床的时候,却发现常用的图床都不支持webp。 于是突然爱折腾的我想着『自建图床』,这才去百度上一搜,发现很多推荐『七牛云』的『对象存储』服务。这我就突然想起来了,腾讯云阿里云不也有这玩意嘛,于是我就想到用我现在常用的「腾讯云」来弄。

对象存储可以简单理解为用来存储图片、音频、视频等非结构化数据的数据池。相对于主机服务器,具有读写速度快,利于分享的特点。

就像个云盘一样

创建腾讯云对象存储服务COS(Cloud Object Storage)

打开腾讯云官网,登陆后来到控制台,激活COS服务,然后再概览中就会看到提示『创建存储桶 』
tencent_obj_sto_1

存储桶(bucket),顾名思义,我们将把要存储的对象文件存储在这个桶里
点击「创建存储桶」,名称随意,地域随意
访问权限选择「公有读私有写」,然后就可以点「确定」
创建存储桶

在控制台左侧栏里除了「存储桶列表」还有「资源包管理」,点进去可以看到当前有效的资源包以及购买资源
这里的资源包主要包含容量资源包以及流量资源包*,因为容量和流量是计费的项目,详细的可以去看腾讯云的计费定价
买了对应存储桶的所在地区对应的资源包,就可以直接抵用该桶的消费
*当然目前这个时间点腾讯云是赠送新手一定量的容量资源包的,还有1元新手容量包

COS存储桶的使用

存储桶控制台 / 上传文件等

点进刚刚创建好的存储桶,在「文件列表」里可以看到上传在该桶之中的文件(夹)
在这里可以直观的在桶里进行上传文件,创建文件夹等操作
那我这里专门创建了一个文件夹,用于存储博客用到的图片资源,给博客提供图床外链
对象存储控制台

获取外链

将你想要分享的文件上传到桶里之后,在该文件的右边点详细信息,可以看到该文件对象的基本信息,包含名称,大小,时间,下载文件对象等,
对象基本信息-获取外链
倒数第二项是「对象地址」,这个便是该文件的外链了,点击复制按钮,贴在博客里,便可以实现它的图床功能啦

当然不仅仅是图片,音乐视频都可以上传在桶里,外链贴在博客等需要他的地方,相当容易

你可能注意到了最后一项的「临时链接」,这个是由于外链可能有一些权限限制访问,或者是向下面提到的「防盗链」设置后,我们就不能直接通过外链访问这个文件对象了
临时链接带有签名参数,但有时间限制,可以用该链接暂时直接访问,但是这个链接不要用在博客等做外链,外链还是得用上面的对象地址。

COSBrowser客户端操作腾讯对象存储(推荐)

腾讯云官方为我们提供了COS客户端,Windows/Mac/Linux/iOS/Android主流系统都有,十分方便
这下对象存储真的可以当云盘用了(笑:-D
拉开控制台最左侧栏里可以看到「工具」- > 「客户端下载」,下载对应的客户端使用即可
COS客户端

那我这里就不具体描述客户端的使用了,就放一下客户端的界面图,是我使用的Linux和Android端
COSBrowser-Android COSBrowser-Linux

防盗链设置

防盗链设置还是挺重要的,如果被盗链会导致你的流量费用可能会跑的极快呢
在存储桶的基础配置里可以找到「防盗链设置」,在该项里设置即可
下图是我的设置,以白名单类型为例,在Referer里添加可以访问的域名或地址即可
防盗链

保存设置之后,只有白名单里的域名地址才可以访问外链了。
即使其他人获取到链接也无法访问相应图片
无法访问

自定义源站域名访问外链

默认的访问域名是腾讯云分配的公共域名,使用起来没有任何问题,就是太长了。。所以这里我们可以用自己的域名绑定到对应的存储桶里去生成访问外链。
这样做的另一个好处是,假设换了一个存储桶,我们可以通过接口将原桶文件转移过去,但是用了新桶的默认访问域名,这样会导致原本访问文件的链接不同,你写在博客里的外链会失效,然而如果用自定义访问域名,只需要换绑域名到新桶即可,只要桶内的文件目录没有变化,文件生成的外链也就不会变了。

设置存储桶自定义访问域名

在控制台点进需要设置的存储桶,可以看到「域名设置」,在里面可以看到「自定义源站域名」这一项
点击添加域名,填写内容即可。这里「源站类型」选择「默认源站」,然后将CNAME项的值复制下来,下一步解析域名需要使用
另外根据要求,自定义的域名必须经过备案
自定义源站域名

添加域名解析记录

DNS服务商处设置好对应的CNAME记录即可,下图示例
记录值填写上一步复制下来的CNAME项的值
添加解析记录
等待生效即可

获取对象文件自定义域名访问外链

这一步和之前获取外链是一样的
在文件的基本信息里,将「指定域名」选择成「自定义源站域名」再选择刚刚新建的域名,这样在下面的对象地址就会生成自定义的域名外链了
当然其实你只需要把获取到的默认域名的对象地址里的域名改成你自定义的域名即可。
自定义源站域名访问外链