云安全
云安全概述
阿里云概述
亚马逊AWS概述
云计算导论
云计算概述
云计算的关键技术
虚拟化
分布式文件系统
云存储
数据处理
并行计算
OpenStack
容器
Kubernetes概述
Serverless
Hadoop
云原生
云数据中心
微服务
对象存储OSS
云存储
对象存储
对象文件(Object)
存储桶(存储空间)
通过外网访问OSS
存储桶漏洞
STS访问OSS
权限与访问控制
访问控制
Bucket&RAM Policy
预签名
Docker
01docker概述
02docker安装
03目录结构
04基础操作
05底层原理【理论】
06底层原理【实践】
07DockerFile
08容器反查Dockerfile
09Docker 逃逸
-
+
首页
对象存储OSS
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。 OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。 使用阿里云提供的API、SDK包或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。 数据存储到阿里云OSS以后,可以选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)、归档存储(Archive)、冷归档存储(Cold Archive)或者深度冷归档(Deep Cold Archive)作为不经常访问数据的存储方式。 ## 工作原理 数据以对象(Object)的形式存储在OSS的存储空间(Bucket )中。 如果要使用OSS存储数据,需要先创建Bucket,并指定Bucket的地域、访问权限、存储类型等属性。创建Bucket后,可以将数据以Object的形式上传到Bucket,并指定Object的文件名(Key)作为其唯一标识。 OSS以HTTP RESTful API的形式对外提供服务,访问不同地域需要不同的访问域名(Endpoint)。当请求访问OSS时,OSS通过使用**访问密钥(AccessKey ID和AccessKey Secret)对称加密**的方法来验证某个请求的发送者身份。 ## 基本概念 > 存储空间 存储空间是用户用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。存储空间具有各种配置属性,包括地域、访问权限、存储类型等。用户可以根据实际需求,创建不同类型的存储空间来存储不同的数据。 - 同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。 - 每个用户可以拥有多个存储空间。 - 存储空间的名称在OSS范围内必须是全局唯一,存储空间创建成功后,名称将无法修改。 **说明** :全局唯一表示阿里云所有的用户创建的Bucket名称都不能相同。例如用户A创建了名称为example的Bucket,其他用户无法再次创建名称为example的Bucket。 - 存储空间内部的对象数目没有限制。 存储空间的命名规范如下: - 只能包括小写字母、数字和短划线(-)。 - 必须以小写字母或者数字开头和结尾。 - 长度必须在3~63字符之间。 > 对象 对象是OSS存储数据的基本单元,也被称为OSS的文件。和传统的文件系统不同,对象没有文件目录层级结构的关系。**对象由元数据(Object Meta)、用户数据(Data)和文件名(Key)组成**,并且由存储空间内部唯一的Key来标识。对象元数据是一组键值对,表示了对象的一些属性,例如文件类型、编码方式等信息,同时用户也可以在元数据中存储一些自定义的信息。 对象的生命周期是从上传成功到被删除为止。在整个生命周期内,除使用追加方式上传的Object可以通过继续追加上传写入数据外,使用其他方式上传的Object内容无法编辑,可以通过重复上传同名的对象来覆盖之前的对象。 对象的命名规范如下: - 使用UTF-8编码。 - 长度必须在1~1023字符之间。 - 不能以正斜线(/)或者反斜线(\)开头。 **说明** :对象名称需要区分大小写。 > ObjectKey 在各语言SDK中,ObjectKey、Key以及ObjectName是同一概念,均表示对Object执行相关操作时需要填写的Object名称。 例如向某一存储空间上传Object时,ObjectKey表示上传的Object所在存储空间的完整名称,即包含文件后缀在内的完整路径,如填写为`abc/efg/123.jpg`。 > Object类型 Object包含以下三种类型: - Normal:通过简单上传生成的Object。上传结束之后内容是固定的,只能读取,不能修改。如果Object内容发生了改变,只能重新上传同名的Object来覆盖之前的内容。简单上传适用于上传小于5 GB的单个文件、一次HTTP请求交互即可完成上传的场景。 - Multipart:通过分片上传生成的Object。上传结束之后内容是固定的,只能读取,不能修改。如果Object内容发生了改变,只能重新上传同名的Object来覆盖之前的内容。分片上传适用于大文件加速上传、网络环境较差、文件大小不确定的场景。 - Appendable:通过追加上传生成的Object。追加上传可在视频数据产生之后即时将数据上传至同一个Object。追加上传适用于视频监控、视频直播等领域生成的实时视频流场景。 注意:不支持在不同类型的Object之间相互转换。例如,Normal类型的Object无法转换为Multipart或者Appendable类型。 > 地域 Region表示OSS的数据中心所在物理位置。用户可以根据费用、请求来源等选择合适的地域创建Bucket。一般来说,距离用户更近的Region访问速度更快。 更多信息,请参见[OSS已经开通的Region](https://help.aliyun.com/zh/oss/regions-and-endpoints?spm=a2c4g.11186623.0.0.27c954b5jRMw3d#concept-zt4-cvy-5db)。 Region是在创建Bucket的时候指定的。Bucket创建成功后,Region将无法修改。该Bucket下所有的Object都存储在对应的数据中心,目前不支持Object级别的Region设置。 > 访问域名 Endpoint表示OSS对外服务的访问域名。OSS以HTTP RESTful API的形式对外提供服务,当访问不同的Region的时候,需要不同的域名。 通过内网和外网访问同一个Region所需要的Endpoint也是不同的。例如:杭州Region的外网Endpoint是oss-cn-hangzhou.aliyuncs.com,内网Endpoint是oss-cn-hangzhou-internal.aliyuncs.com。 > AccessKey(访问密钥) AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。 OSS通过使用AccessKey ID和AccessKey Secret对称加密的方法来验证某个请求的发送者身份。 AccessKey ID用于标识用户;AccessKey Secret是用户用于加密签名字符串和OSS用来验证签名字符串的密钥,必须保密。 对于OSS来说,AccessKey的来源有: - Bucket的拥有者申请的AccessKey。 - 被Bucket的拥有者通过RAM授权给第三方请求者的AccessKey。 - 被Bucket的拥有者通过STS授权给第三方请求者的AccessKey。 > 原子性和强一致性 原子性:Object操作在OSS上具有原子性,操作要么成功要么失败,不存在中间状态的Object。当Object上传完成时,OSS即可保证读到的Object是完整的,OSS不会返回给用户一个部分上传成功的Object。 强一致性:Object操作在OSS同样具有强一致性,当用户收到了上传(PUT)成功的响应时,该上传的Object进入立即可读状态,并且Object的冗余数据已经写入成功。不存在上传的中间状态,即执行read-after-write,却无法读取到数据。对于删除操作,用户删除指定的Object成功之后,该Object立即不存在。 > 数据冗余机制 OSS使用基于纠删码的数据冗余存储机制,确保硬件失效时的数据持久性和可用性。 OSS Object操作具有强一致性,当用户收到了上传或复制成功的响应时,该上传的Object就已经立即可读,且数据已经冗余写入到多个设备中。 OSS会通过计算网络流量包的校验和,验证数据包在客户端和服务端之间传输中是否出错,保证数据完整传输。 OSS的冗余存储机制,可支持两个存储设施并发损坏时,仍维持数据不丢失。 - 当数据存入OSS后,OSS会检测和修复丢失的冗余,确保数据持久性和可用性。 - OSS会周期性地通过校验等方式验证数据的完整性,及时发现因硬件失效等原因造成的数据损坏。当检测到数据有部分损坏或丢失时,OSS会利用冗余的数据,进行重建并修复损坏数据。 > 术语表 | **英文** | **中文** | | ------------------------- | ------------------------------------------------------ | | Bucket | 存储空间 | | Object | 对象或者文件 | | Endpoint | OSS访问域名 | | Region | 地域或者数据中心 | | AccessKey | AccessKey ID和AccessKey Secret的统称,访问密钥 | | Put Object | 简单上传 | | Post Object | 表单上传 | | Multipart Upload | 分片上传 | | Append Object | 追加上传 | | Get Object | 简单下载 | | Callback | 回调 | | Object Meta | 文件元数据。用来描述文件信息,例如文件类型、编码方式等 | | Data | 文件数据 | | Key | 文件名 | | ACL (Access Control List) | 存储空间或者文件的权限 | ## 重要特性 版本控制:版本控制是针对存储空间(Bucket)级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。在错误覆盖或者删除文件(Object)后,能够将Bucket中存储的Object恢复到任意时刻的历史版本。 Bucket Policy:Bucket拥有者可通过Bucket Policy授权不同用户以何种权限访问指定的OSS资源。例如需要进行跨账号或对匿名用户授权访问或管理整个Bucket或Bucket内的部分资源,或者需要对同账号下的不同RAM用户授予访问或管理Bucket资源的不同权限,例如只读、读写或完全控制的权限等。 跨区域复制:跨区域复制(Cross-Region Replication)是跨不同OSS数据中心(地域)的Bucket自动、异步(近实时)复制Object,它会将Object的创建、更新和删除等操作从源存储空间复制到不同区域的目标存储空间。跨区域复制功能满足Bucket跨区域容灾或用户数据复制的需求。 数据加密: - 服务器端加密:上传文件时,OSS对收到的文件进行加密,再将得到的加密文件持久化保存;下载文件时,OSS自动将加密文件解密后返回给用户,并在返回的HTTP请求Header中,声明该文件进行了服务器端加密。 - 客户端加密:将文件上传到OSS之前在本地进行加密。 数据永久保存:除以下情况以外,OSS默认永久保存上传到Bucket的数据: - 通过OSS控制台、API、SDK、ossutil或者ossbrowser等工具手动删除数据。 - 通过生命周期规则在指定时间内自动删除数据。 - OSS停服后15天内未补足欠款。 ## 使用方式 OSS提供多种灵活的上传、下载和管理方式。 > 通过控制台管理OSS OSS提供了Web服务页面,您可以登录[OSS控制台](https://oss.console.aliyun.com/overview)管理您的OSS资源。 > 通过API或SDK管理OSS OSS提供RESTful API和各种语言的SDK开发包,方便您快速进行二次开发。更多信息,请参见[OSS API参考](https://help.aliyun.com/zh/oss/developer-reference/list-of-operations-by-function#reference-wrz-l2q-tdb)和[OSS SDK参考](https://help.aliyun.com/zh/oss/developer-reference/overview-21#concept-dcn-tp1-kfb)。 > 通过工具管理OSS OSS提供图形化管理工具ossbrowser、命令行管理工具ossutil、FTP管理工具ossftp等各种类型的管理工具。更多信息,请参见[OSS常用工具](https://help.aliyun.com/zh/oss/developer-reference/oss-tools#concept-owg-knn-vdb)。 > 通过云存储网关管理OSS OSS的存储空间内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。如果您想要像使用本地文件夹和磁盘的方式来使用OSS存储服务,可以通过配置云存储网关来实现。更多信息,请参见[云存储网关产品详情页面](https://www.aliyun.com/product/hcs)。 ## OSS计费 对象存储OSS支持以下计费方式。 按量付费:所有计费项默认采用按量付费。按照各计费项的实际用量结算费用,先使用,后付费,适用于业务用量经常有变化的场景。更多信息,请参见[按量付费](https://help.aliyun.com/zh/oss/pay-as-you-go-1#concept-2247263)。 资源包:针对部分常用计费项支持专用的资源包。预先购买针对不同的计费项推出的优惠资源包,在费用结算时,优先从资源包抵扣用量,先购买,后抵扣,适用于业务用量相对稳定的场景。更多信息,请参见[资源包概述](https://help.aliyun.com/zh/oss/resource-plan/#concept-l43-j4h-tdb)。 预留空间:针对有地域属性Bucket产生的标准存储(本地冗余)容量费用以及ECS快照存储费用的预付费产品。预先购买预留空间,在费用结算时,优先从预留空间抵扣用量,先购买,后抵扣。更多信息,请参见[预留空间](https://help.aliyun.com/zh/oss/reserved-capacity#main-2309838)。 无地域属性预留空间:针对无地域属性Bucket产生的标准存储(本地冗余)容量费用的预付费产品。预先购买无地域属性的预留空间,在费用结算时,优先从无地域属性预留空间抵扣用量,先购买,后抵扣。更多信息,请参见[无地域属性预留空间](https://help.aliyun.com/zh/oss/anywhere-reserved-capacity#main-2309689)。 存储容量单位包SCU:针对存储费用支持SCU。SCU除了用于抵扣OSS的存储费用,还可用于抵扣多种云存储产品存储容量费用。更多信息,请参见[存储容量单位包SCU](https://help.aliyun.com/zh/oss/scu#concept-2005963)。
毛林
2025年10月10日 21:13
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码