简述
想想第一次接触对象存储的时候还是很兴奋的,同时也是一脸懵逼;然后开始网上疯狂的找资料,但因为客户当时给的文档写的是关于Amazon S3之类的,所以自以为的就只有Amazon S3这一家,接着开始查资料,经过一番努力最后在Amazon平台创建了一个账户,但最后在控制台只得到的Access Key Id和Secret Access Key,并没有找到Endpoint这个关键;因为我是开发用,所以是必须带有Endpoint关键字的,所以最后创建的账号只能在S3 Browser用来做简单的存储用,并不能满足我的需求;由于当时的特性所以最后无奈的放弃了追逐,要求客户提供了测试环境,事情到此结束,为此还有点懊恼;
相遇
没想到今年再次遇到了对象存储开发,所以下决心要自己搭建个测试环境,还特地咨询了上一次客户那边提供测试环境的工程师,没想到对象存储不只有Amazon这一家,却还有阿里云、腾讯云、七牛云、华为云...;
经过一番了解下,最终选择了腾讯云对象存储;理由是省心,还有可能就是心里作用吧,毕竟一直以来都是使用腾讯产品居多,这个看大家需求了;
腾讯云对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
注册账号
注册地址:https://cloud.tencent.com/register?s_url=https%3A%2F%2Fcloud.tencent.com%2F
最好选择是微信扫码注册,因为目前大多数都是使用微信沟通,再者扫一扫就可以登录腾讯云无需记住账号密码,最主要的微信关注腾讯云后还可以接受各种消息通知;
注册好后,就需要安全验证,就是刚才说的绑定一下微信,往后只需要微信扫码就可以进行很多操作;
进入对象存储控制台
账号创建好后进行登录操作,然后会自动跳转控制台,当然也可以自己在主页面中选择控制台自己跳转,进入控制台后可以在搜索框输入"对象存储"搜索,也可以直接点击左上方的云产品找到"对象存储"等;
创建用户
进入对象存储控制台后,其他的先不用管,先到"访问管理"中添加一个用户,因为平台建议使用子账户操作安全性更好;
在访问管理左侧导航栏中,选择"用户"然后新建用户,选择"自定义创建";
策略那些先不着急选择,直接下一步,用户标签也可以不着急,直接下一步,最后直接点击完成就可以了,成功后页面会显示SecretId、SecretKey不过不需要记住,后边在账号里也是可以看得到的;
最后在"用户列表"就可以看到主账号和子用户了;
查看密钥
点击蓝色的"用户名称"标签,可以查看到很多信息,然后选择"API密钥",也可以使用新建密钥,当然有需求的还可以在"安全"项中给子账户添加登录控制台权限;
创建存储桶
返回"对象存储"控制台后,在左侧而已看到"存储桶列表",此时应该是空的,选择"创建存储桶";
使用S3 Browser操作对象存储
下载S3 Browser链接:https://s3browser.com/versioncheck.aspx?v=10.9.9&fam=x64
安装好后,添加一个账号,Display name随意起,Account type为S3 Compatible Storage做开发用,Endpoint根据创建桶时选择的区域有关不需要带桶名,Access Key ID和Secret Access Key相当于一个要验证的账号密码;
然后你会发现,虽然成功登录了但是却显示不了所有桶名出来,原因是没有给子账号添加权限;
给子账号授权
进入到"访问管理",在左侧栏目中找到"用户列表",然后在对应的用户后边点击"授权";
直接在搜索栏中搜索"COS",在筛选的策略中找到"QcloudCOSGetServiceAccess对象存(COS)存储桶列表访问权限"这个是给用户添加访问桶列表的权限,这样就可以把桶列出来了;同时添加"QcloudCOSFullAccess对象存储(COS)全读写访问权限" 这是对给用户赋予桶的所有操作权限(根据需求而定);这时候就可以在S3 Browser中对桶进行上传、下载、删除文件了;
在S3 Browser中创建桶
如果直接点击"New bucket",按默认或者随意填写桶名的话一定会报错;
这里特别注意一下报错信息,"InvalidRequest: Missing required header for this request: Appid, Bucket format should be <bucketname>-<sappid>",这是说桶命名格式不正确,正确的应该是<桶名>-<开发商APPID>(这也是咨询了技术客服才知道的),开发商APPID怎么来?其实在控制台创建桶的时候就是默认带上的那一串数字;
创建桶的时候注意带固定的开发商APPID才是正确的(这点已经跟技术客服反馈,不知道后期会不会改善);
· 折腾了挺久,最终还是拥有了自己的测试环境,最后希望可以帮助到有需要的朋友;
Qt之QS3Client 使用Amazon S3协议上传下载数据:https://blog.csdn.net/Ilson_/article/details/114496992