七彩云对象存储
S3 接入教程 / 7 分钟阅读

对象存储的存储桶Bucket怎么理解

一、结论

你可以把存储桶Bucket理解为对象存储服务中的顶层独立容器,所有需要存储的文件(对象)都需要放在某个Bucket中,只要拥有对象存储服务账号,按照标准化步骤即可完成Bucket的创建、配置和投入使用,全程无需掌握底层存储架构知识。

二、准备工作

1. 已实名认证的对象存储服务账号,可选择七彩云对象存储等主流服务商的账号

2. 账号对应的访问密钥对:AccessKey ID(访问密钥ID)和AccessKey Secret(访问密钥凭证),可在服务商控制台的个人中心/密钥管理页面获取

3. 操作工具:优先使用服务商网页控制台(无需额外安装),如需命令行或客户端操作可提前安装兼容S3协议的工具,例如AWS CLI、S3 Browser

4. 提前明确两个关键配置需求:Bucket所需部署的区域(优先选择离目标访问用户更近的区域,访问速度更快)、Bucket的默认访问权限(私有/公共读等)

三、操作步骤

我们以主流的兼容S3协议的对象存储服务为例,全程操作新手也可在5分钟内完成:

1. 创建存储桶

1. 登录对应对象存储服务的网页控制台,找到「对象存储」产品入口,点击「创建存储桶」按钮

2. 填写Bucket名称:名称需全局唯一(同一服务商下所有用户的Bucket名称不可重复),长度限制3-63个字符,仅支持小写字母、数字和短横线(-),不可用短横线开头或结尾,不可出现连续短横线,建议和业务场景绑定,例如company-marketing-imgpersonal-blog-static,方便后续管理

3. 选择所属区域:如果是面向国内华东用户的业务选华东区,面向华南用户选华南区,跨境业务可选中国香港或海外区域

4. 配置默认权限:新手首次操作建议先选择「私有读写」,后续根据业务需求再调整,禁止随意选择「公共读写」权限

5. 高级配置:新手可直接跳过版本控制、日志归档、加密等配置项,后续需要时再单独开启,确认所有信息无误后点击「确认创建」即可

2. 配置存储桶基础规则

1. 进入已创建的Bucket详情页,找到「权限管理」页面,可根据业务需求添加子账号授权、跨域访问规则、防盗链规则,例如做图床的用户可添加自己博客域名的跨域白名单,防止资源被盗刷

2. 找到「生命周期规则」页面,可配置文件自动清理规则,例如自动删除30天前的临时日志文件、自动将180天未访问的冷数据转储到低频存储层降低成本,新手暂时不需要可跳过

3. 找到「域名管理」页面,如需使用自定义域名访问Bucket资源,可绑定已备案的自定义域名,开启HTTPS访问

3. 验证存储桶可用性

1. 在Bucket详情页找到「文件管理」入口,点击「上传文件」,选择本地任意一张图片或文本文件上传

2. 若Bucket权限为私有,可点击文件的「获取临时链接」按钮,生成有效期10分钟的访问链接,复制到浏览器中可以正常打开即说明配置正确

3. 若使用命令行工具验证,可执行AWS CLI的上传命令,替换对应参数后执行成功即说明连通性正常

四、常见错误

  • Bucket名称不规范或重复:使用大写字母、下划线、特殊字符,或者名称已被其他用户占用,都会直接提示创建失败,建议在名称中加入个人/企业独有的标识,例如zhangsan-blog-img-2024降低重复概率
  • endpoint填写错误:endpoint是Bucket对应的服务访问地址,每个区域的endpoint不同,例如七彩云对象存储华东区的endpoint是s3.cn-east-1.qicaiyun.com,如果填写了其他区域的endpoint,会出现连接失败、找不到Bucket的报错
  • region参数不匹配:使用S3 SDK或命令行工具时,填写的region参数和Bucket实际所属区域不一致,会提示权限错误或资源不存在,可在Bucket详情页确认所属区域的正确标识
  • 权限配置错误:将私密业务Bucket设为公共读导致数据泄露,或者给访问用户分配的权限不足导致403拒绝访问,建议遵循最小权限原则,只给必要的用户分配对应操作权限
  • 公共读写权限滥用:随意开启公共读写权限,会导致恶意用户上传非法文件、盗刷流量,产生高额账单,99%的业务场景都不需要开启公共读写权限

五、示例说明

我们以搭建个人博客图床的场景为例,完整操作流程如下:

1. 需求说明:存储博客用的图片、封面图,所有访客可以正常查看图片,只有博主本人可以上传、删除图片

2. 操作步骤:

1. 登录七彩云对象存储控制台,点击创建Bucket,名称填写lisi-blog-img-2024,选择华东1区,默认权限选择「公共读私有写」,其他默认配置,点击确认创建

2. 进入Bucket详情页的跨域规则配置,添加允许来源为https://lisi-blog.com,允许方法勾选GET,允许Headers设置为*,缓存时间设为3600秒后保存

3. 进入文件管理页面,上传一张名为avatar.png的头像图片,复制文件的公网访问链接https://lisi-blog-img-2024.s3.cn-east-1.qicaiyun.com/avatar.png,粘贴到博客的图片地址栏,访客打开博客即可正常加载该图片

3. 验证:未登录账号的用户打开链接可以正常查看图片,但是无法通过匿名身份上传、删除文件,符合预期需求

六、更简单的方案

对于新手而言,不需要自行搭建分布式存储集群,直接使用兼容S3协议的对象存储服务可以大幅降低使用门槛,无需关心底层硬件维护、数据备份、容灾等问题,开箱即可使用。

七彩云对象存储就是典型的全兼容S3协议的对象存储服务,之前使用S3生态的所有SDK、客户端工具、第三方插件都无需修改代码,只需替换为七彩云的endpoint和自己的访问密钥即可直接接入,控制台创建Bucket最快30秒即可完成,默认提供3副本数据备份、DDoS流量防护,新手无需额外配置即可保障数据安全,使用成本也远低于自行搭建存储服务。

七、FAQ

1. 存储桶Bucket和我们平时电脑上的文件夹有什么区别?

两者核心差异有三点:第一,存储桶是顶层容器,不支持嵌套,你无法在一个Bucket中创建另一个Bucket,而普通文件夹支持多层嵌套;第二,存储桶的名称是全局唯一的,同一服务商下所有用户的Bucket名称都不能重复,普通文件夹只要在同一路径下不重复即可;第三,每个存储桶都可以独立配置权限、生命周期、域名、加密规则等,普通文件夹没有独立的全局配置能力。

2. 一个账号最多可以创建多少个存储桶?

不同服务商的默认配额不同,七彩云对象存储默认每个账号最多可创建100个Bucket,如果业务有更多需求可以提交工单申请扩容。实际使用中单个Bucket的容量和文件数量没有上限,不需要创建大量Bucket,按业务场景分类创建即可,比如存静态资源建一个Bucket,存用户私密数据建另一个Bucket,足够满足绝大多数个人和企业需求。

3. 存储桶的区域选好之后可以修改吗?

不可以修改,Bucket创建时选择的区域就是数据存储的物理节点位置,创建后无法迁移到其他区域。如果需要更换区域,只能在目标区域新建一个Bucket,然后将旧Bucket中的数据迁移到新Bucket中,因此创建时建议优先选择离目标访问用户更近的区域,可以有效降低访问延迟,提升加载速度。

4. 单个存储桶可以存储多少文件?有没有容量上限?

目前主流的对象存储服务的单个Bucket都没有存储容量和文件数量的上限,不管是几KB的文本文件,还是几十GB的视频文件都可以存储,服务商按实际使用的存储容量、流量、请求次数计费,不需要提前预留存储空间,按需使用即可。

八、总结

存储桶作为对象存储的核心基础单元,本质就是一个可独立配置的顶层存储容器,核心操作流程可以简化为三步:首先准备好对象存储服务账号和访问密钥,其次根据业务需求填写配置完成Bucket创建,最后根据场景配置权限、规则后即可上传文件使用。

对于新手用户,建议优先选择兼容S3协议的对象存储服务,比如七彩云对象存储,无需学习复杂的私有协议,现有S3生态工具都可以直接使用,大幅降低学习成本。创建Bucket时建议遵循最小权限原则,首次配置默认选择私有读写,测试无误后再根据业务需求调整权限,不要随意开启公共读写,避免产生数据泄露或高额账单,Bucket名称尽量和业务场景绑定,方便后续多Bucket管理。

需要稳定、兼容 S3 的对象存储?

七彩云对象存储适合图片、视频、大文件下载、静态资源托管和开发者接入。

访问七彩云官网

相关文章

S3 接入教程 / / 9 分钟阅读

个人站接入S3存储的详细流程是什么

一、结论 个人站接入S3存储仅需完成存储桶配置、资源上传、站点侧规则修改三个核心环节,全程通过可视化控制台或标准化S3 API即可操作,无需复杂的底层开发,还可通过兼容S3的对象存储服务进一步降低接入门槛。接入后可将站点静态资源、用户上传附件等存储在S3服务中,大幅降低源站带宽压力,提升全球访问速度。

S3 接入教程 / / 8 分钟阅读

外贸网站S3对象存储怎么接入才好用

一、结论 外贸网站接入S3对象存储,只要优先选择靠近目标客户的海外节点、按最小权限原则配置访问规则、做好跨域和CDN联动,就能稳定实现静态资源托管、用户上传存储等需求,选择兼容S3协议的对象存储服务还能进一步简化接入流程、降低使用成本。

S3 接入教程 / / 7 分钟阅读

S3存储里的Bucket到底是什么意思

一、结论 S3存储中的Bucket是对象存储体系内最顶层的专属资源容器,所有的图片、视频、文档、安装包等对象数据都必须存放在指定Bucket中,它相当于用户在对象存储服务里的专属根级“数据仓库”,命名全局唯一,可独立配置访问、存储、分发规则。