帮助文档
关键词列表
网站地图
网站首页
最新活动
轻量应用服务器
阿里云邮箱
等保测评
阿里云产品
企业上云最佳实践
技术帮助文档
关于我们
网站首页
>
关于我们
>
公司新闻
>
Bucket 是对象存储非常重要的概念
Bucket 是对象存储非常重要的概念
发布时间: 2020-08-05 09:56:16
文章作者: 网站编辑
阅读量: 689
Bucket 是什么?
对象存储系列文章,从 Bucket 谈起。对象存储里面只有两个跟资源相关的名词:Bucket,Object。Bucket 中文直译为”桶“,Object 显而易见就是”对象“。所有 Object 都必须属于某个 Bucket,无一例外。Bucket 通常也是计费、权限控制、生命周期等高级功能的管理实体。
一般来讲,公有云厂商会确保 Bucket 名称在全球地域服务具有全局唯一性,且不能修改。比如说,你使用 AWS 的 S3 服务,在北美地域有个叫做 Test 的 Bucket,在其他地域就不允许有同名的 Bucket 了。其实国内的公有云厂商个别做差异化的时候,在这个地方会有不一样,比如允许不同地域可以有同名的 Bucket。这个带来的好处就是用户方便了,因为不同地域可以设置相同 Bucket 了,不好的地方就是对象存储系统本身的实现可能会相对复杂。
一般来讲,Bucket 作为一个抽象的容器概念,空间是无限的,也就是说,用户存放的 Object 的数量和大小总量没有限制,空间大小只依赖于实际的物理资源,公有云厂商也是希望你存储进来的数据越多越好,他们才有赚头呀(机器不够他们随时可以扩容,这个用户是不感知的)。
Bucket 命名规范
公有云厂商一般都会有这个限制,这个和 S3 限制的一致:
只能包括小写字母,数字,短横线(-)
必须以小写字母或者数字开头
长度必须在 3-63 字节之间
Bucket 权限类别
Bucket默认提供三种访问权限:私有读写、公有读私有写和公有读写。其访问权限可通过对象存储控制台上Bucket的权限管理进行修改。
私有读写
只有 Bucket 的创建者或者被授权的账号才对该 Bucket 中的 Object 有读写权限,其他人对该 Bucket 中的 Object 都没有读写权限。Bucket 访问权限默认就是私有读写,也就是要 AK/Sk 来访问。
公有读私有写
任何人(包括匿名访问者)都对该 Bucket 中 Object 有读权限,但只有 Bucket 创建者及被授权的账号才对该 Bucket 中 Object 有写权限。
公有读写
任何人(包括匿名访问者)都对该 Bucket 中对象有读权限和写权限。这种方式用起来要慎重点,方便是方便了,但是安全系数最低。
Bucket 的创建
一般可以使用 3 种方式来创建一个 Bucket,这三种方式也是操作对象的三种方式(本质上都是一种啦,发送正确的 S3 协议包给到对象存储服务系统):
方式一:使用公有云的用户 Portal 系统
这个是新手最早接触到,也是容易接受的一种方式。一般用来体验对象存储简单的上传下载。
方式二:使用 SDK
按照自己的技术栈,选定特定语言的 SDK 版本。比如你可以选择 S3 的 golang 版本的 SDK。
方式三:使用第三方工具
可以用公有云厂商自己提供的工具。比如,阿里 OSS 提供了 ossutil 命令行工具和 ossbrowser 图形化工具。腾讯 COSCMD 命令行工具,七牛提供了 qshell 工具;
也可以用开源免费的第三方工具,比如 S3Browser、S3Cmd 等第三方工具;
Bucket 的删除
S3 的实现中,必须要是空 Bucket 才能被删除。(但其实这个也是一个有差异化的功能,公有云厂商有些场景是允许非空 Bucket 的删除的)
思考问题
问题一:Bucket 到底是什么,有没有一个实体?
我们知道 Object 的概念很容易理解,因为 Object 就是用户实实在在上传的数据。Bucket 呢?有没有一个实体?
其实 Bucket 就是一个命名空间而已。对象存储系统内部实现的方式也是各式各样。比如开源的 Minio 举例,Bucket 就是实现成了目录,对象就是目录下的文件。
或者,你自己实现的对象存储可以实现成字符串,这个 Bucket 里的对象只需要前缀加上这个 Bucket 前缀,等等。
问题二:对象存储有没有目录的概念?
首先明确一点,对象存储中只有 Bucket,Object 的两层关系。没有目录概念!!!
那有些小伙伴可能质疑了,我明明用 S3Browser ,ossbrowser 这样的工具就看到了目录,比如你上传一个 key 名为:"/root/dir1/test.txt" 到 Bucket 里面,root,dir1 这个明明就是给我显示成了目录关系。
其实不是的。对于对象存储后端来讲,你只是上传了一个 key = “/root/dir1/test.txt” 的对象,还是只有 Bucket/Object 两层关系。目录只是 s3Browser, ossbrowser 这样的客户端工具为了好看做出来的效果,客户端工具识别到 key 里面包含了斜线 “/” 之后,就用最经典的目录层次效果给你呈现了。(旁白:客户端工具给你看的友好界面,其实服务端只认最原始的 key)
Bucket 是对象存储非常重要的概念。
上一篇:进击的 Kubernetes 调度系统 Kubernetes scheduling framework
下一篇:个性化推荐系统是如何搭建的
最热文章
阿里云企业邮箱怎么申请免费账号
夸克网盘和阿里云盘是一家吗?
钉钉里面的任务管家多少钱
夸克网盘怎么导入阿里云
夸克网盘转阿里云盘:轻松实现文件迁移
夸克网盘和阿里云盘有什么区别
随机推荐
阿里云服务器的专有网络IP是什么意思
ftp上传阿里云服务器错误失败的解决方法
阿里云如何使用云市场镜像部署Oracle数据库
云服务器主机内网ip和外网ip有什么区别,各有什么特点
常用的web服务器有几种
代理服务器和web服务器有什么区别,各自有什么特点
获取更多阿里云折扣优惠 立即咨询
活动推荐
对象存储OSS
内容推荐
更多
阿里云对象存储OSS:数据存储在Bucket中的好处
阿里云OSS创建Bucket参数设置
阿里云Bucket:存储与管理数据的利器
对象存储OSS的常用功能
阿里云OSS删除Bucket
关键词推荐
更多
阿里云渠道代理商
企业邮箱多少钱
双11阿里云
阿里云返利
阿里邮箱
钉钉考勤
视频点播
申请商标服务
商标注册代理服务
公司服务器
购买商标续展申请
云防火墙购买费用
网站服务器报价
数据库中不合法的数据类型
数据库系统的核心与基础对象
阿里邮箱登录不了了怎么办呀苹果12手机
阿里网盘实名认证更改不了吗怎么办呢苹果手机
阿里邮箱异地登录提示是否可以关闭账号密码保护
阿里云盘如何清空文件数据
钉钉群如何查看群成员信息内容是否正确
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠
立即领取