云安全
云安全概述
阿里云概述
亚马逊AWS概述
云计算导论
云计算概述
云计算的关键技术
虚拟化
分布式文件系统
云存储
数据处理
并行计算
OpenStack
容器
Kubernetes概述
Serverless
Hadoop
云原生
云数据中心
微服务
对象存储OSS
云存储
对象存储
对象文件(Object)
存储桶(存储空间)
通过外网访问OSS
存储桶漏洞
STS访问OSS
权限与访问控制
访问控制
Bucket&RAM Policy
预签名
Docker
01docker概述
02docker安装
03目录结构
04基础操作
05底层原理【理论】
06底层原理【实践】
07DockerFile
08容器反查Dockerfile
09Docker 逃逸
-
+
首页
对象文件(Object)
在对象存储中,对象(Object)就像文件一样,是存储数据的基本单位。 上传的每个文件(如文档、图片、视频等)都会作为Object保存在存储空间(Bucket)中,方便后续管理。 ## 对象命名 与传统文件系统中的层级结构不同,OSS内部使用扁平结构存储数据。 即所有数据均以对象(Object)的形式保存在存储空间(Bucket)中。对象(Object)是OSS存储数据的基本单元,也被称为OSS的文件。 OSS通过键名(Key)唯一标识存储的Object。 > 命名规范 - 使用UTF-8编码。 - 长度必须在1~1023字节之间。 - 不能以正斜线(/)或者反斜线(\)开头。 - 区分大小写。 > 示例 根据Object存储于Bucket内的不同位置,Key的表示方法也有所区别,具体说明如下: | Object所在Bucket的位置 | Key的表示方法 | | ------------------------------------------------------------ | ------------------------- | | 目标存储空间examplebucket根目录下存放了名为exampleobject.txt的Object | exampleobject.txt | | 目标存储空间examplebucket根目录下的destdir目录中存放了exampleobject.jpg的Object | destdir/exampleobject.jpg | ## Object组成 Key:是Object的名称,类似于文件路径,用于查询Object,具有唯一性,合理的Object名称有助于管理。 Data:是Object的实际数据,由任意长度的字节组成,类似于文件的内容。 Object Meta:Object元数据,是一组键值对,类似于文件属性,如最后修改时间、大小等,也可以存储自定义信息。 Version ID:若要保存一个文件的多个版本,需启用版本控制功能。每次上传同名Object时,OSS会为新版本分配一个唯一的Version ID,您可以通过该Version ID来访问和管理特定版本的文件。 > Key的别名 可能会在各语言的SDK文档中看到不同的术语描述,例如ObjectKey、ObjectName或对象名称,这些术语实际上都等同于Key,表示操作Object时需填写的完整Key(含路径),即下图所示“exampledir/example.jpg”。 请注意,“文件名称”是为了便于理解而引用的概念,所以它仅指Key中路径的最后一部分,即“example.jpg”。  ## OSS目录 传统文件系统中的层级结构不同,OSS内部使用扁平结构存储数据。即所有数据均以对象(Object)的形式保存在存储空间(Bucket)中。为方便管理,OSS控制台将所有以正斜线(/)结尾的对象显示为目录,实现类似于目录的基本功能。 在对象存储OSS中,其实并不具备传统文件系统中的文件和文件夹概念,但为了符合用户的使用习惯,OSS通过在Key中添加“/”来模拟文件夹,例如“exampledir/example.jpg”。 此时,“exampledir”就被模拟成了一个文件夹,“example.jpg”则模拟成“exampledir”文件夹下的文件名。 在OSS控制台和ossbrowser等图形化工具中可以看到这种文件夹结构。但实际上,Object的Key仍然是“exampledir/example.jpg”。  > 工作原理 OSS通过创建大小为0字节的对象来模拟目录的概念,以便实现类似目录的管理和展示。 当在OSS中创建目录时,OSS会使用提供的目录名称来创建一个大小为0字节的对象。 例如,如果在存储空间中创建一个名为log的目录,OSS将使用log/作为对象名称来创建一个大小为0字节的对象。 > 目录示例 OSS将以正斜线(/)结尾的对象视为目录。例如目标存储空间examplebucket下的目录及文件结构如下所示: ```txt examplebucket └── log/ ├── date1.txt ├── date2.txt ├── date3.txt └── destfolder/ └── 2021/ ├── photo.jpg ``` 以上目录结构示意图表明: - 以log为前缀的文件共有三个,分别为log/date1.txt、log/date2.txt和log/date3.txt。控制台会显示名为log的目录,如果您在控制台中打开该目录,将看到三个文件,分别为date1.txt、date2.txt和date3.txt。 - 以destfolder为前缀的文件为destfolder/2021/photo.jpg。控制台将显示名为destfolder的目录,其中包含子目录2021,子目录下包含文件photo.jpg。 ## Object类型 > Normal 定义:通过简单上传生成的Object类型。 简单上传:当需要将不超过5GB的文件上传到OSS,并且对并发上传速度要求不高时,选择简单上传。 说明: - 在版本控制未开启或暂停时,若有多个用户上传同名Object,后上传完成的Object会覆盖前一个,并只保留最后上传完成的Object。例如,用户A在用户B之后完成上传,最终将保留用户A上传的Object。 - 版本控制开启时,每次上传同名Object都会创建新版本,并用版本ID(Version ID)标识。OSS根据上传的开始时间确定最新版本。例如,用户B在用户A之后开始上传,则用户B上传的Object将被标记为最新版本。  > Multipart 定义:通过分片上传生成的Object类型。 分片上传:使用分片上传方式,先将大文件分成多个较小的碎片(Part),然后并发上传,提高上传速度。此外,在某个Part上传失败时,只需重新上传该Part,避免整个文件上传失败。 说明: - 在版本控制未开启或暂停时,分片上传完成后会合并为一个完整Object,且新的完整的Object会覆盖同名的旧Object,保留最后完成合并的Object。 - 版本控制开启时,每次分片上传完成并合并后的同名Object都会创建新版本,用Version ID标识,最后完成合并的Object会被标记为最新版本。 场景: - 大文件加速上传:当文件大小超过 5 GB 时,使用分片上传可实现并行上传多个Part,从而加快上传速度。 - 应对网络环境波动:在网络环境不佳的情况下,分片上传尤为有利。如果上传过程中出现失败,您只需重传失败的部分,避免重新上传整个文件的麻烦,节省了时间和带宽。 - 暂停和恢复上传:分片上传任务没有过期时间。您可以随时暂停和恢复分片上传,直到完成或取消分片上传。 - 文件大小不确定:在某些场景中,例如视频监控等行业应用中,文件的最终大小可能不确定。使用分片上传可以让您在未知文件大小的情况下开始上传。 分片上传(Multipart Upload)分为以下三个步骤: - 调用InitiateMultipartUpload接口初始化分片上传任务。 - 调用UploadPart接口上传分片。 - 要上传的文件切分成Part之后,文件顺序是通过上传过程中指定的partNumber来确定的,实际执行中并没有顺序要求,因此可以实现并发上传。并发数并非越多越快,请结合自身网络状况和设备负载综合考虑。 - 默认情况下,已经上传但还没有调用CompleteMultipartUpload的Part不会被自动删除,因此如果要终止上传并删除占用的存储空间,需要调用AbortMultipartUpload。 - 调用CompleteMultipartUpload接口将Part合并为Object。  > Appendable 定义:通过追加上传生成的Object类型。 说明:无论版本控制的状态如何,Appendable类型的Object在追加数据时,不会因为追加操作而生成新的版本,所有追加的数据都只会附加到原始文件之后。 追加上传:追加上传指的是在已上传的Appendable类型Object后面直接追加内容。 通过简单上传生成的Object类型为Normal,通过分片上传生成的Object类型为Multipart。这两种类型Object在上传结束之后内容是固定的,只能读取,不能修改。如果Object内容发生了改变,只能重新上传同名的Object来覆盖之前的内容。 如果需要实时更新已上传Object内容的视频流,需要先在本地进行视频拼接,然后通过OSS提供的追加上传(AppendObject)的方式上传视频,上传后将生成Appendable类型的Object。Appendable类型Object后面允许直接追加内容,且每次追加上传的数据都能够即时可读。 使用限制: - 大小限制:Object大小不能超过5 GB; - 操作限制 - 不支持通过追加上传的方式上传冷归档、深度冷归档类型的Object; - 追加上传不支持上传回调操作。 > Symlink 定义:通过PutSymlink生成的软链接。 说明:设置软链接以便快速访问常用Object。 PutSymlink:调用PutSymlink接口用于为OSS的目标文件(TargetObject)创建软链接(Symlink),可以通过该软链接访问TargetObject。 权限说明:阿里云账号默认拥有全部权限。阿里云账号下的RAM用户或RAM角色默认没有任何权限,需要阿里云账号或账号管理员通过RAM Policy或Bucket Policy授予操作权限。 | API | Action | 说明 | | ---------- | -------------------- | ------------------------------------------------------------ | | PutSymlink | oss:PutObject | 为OSS的目标文件(TargetObject)创建软链接(Symlink)。 | | PutSymlink | oss:PutObjectTagging | 为OSS的目标文件(TargetObject)创建软链接(Symlink)时,如果通过x-oss-tagging指定Object的标签,则需要此操作的权限。 |
毛林
2025年10月27日 20:52
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码