简介
对象(Object)是对象存储(Cloud Object Storage,COS)的基本单元,可理解为任何格式类型的数据,例如图片、文档和音视频文件等。
准备工作
2. 拥有轻量对象存储服务的操作权限。主账号默认拥有所有权限,子账号需要在 访问管理服务 按需授权权限。
3. 已创建存储桶,并且拥有存储桶操作权限。
说明:
上传文件
1. 登录 轻量对象存储控制台。
2. 在存储桶卡片页面中单击需要存储对象的存储桶,进入存储桶的文件列表页面。
3. 在文件列表中,单击上传文件;在弹出的窗口中,选中本地文件后单击上传。
下载文件
1. 登录 轻量对象存储控制台。
2. 在存储桶卡片页面中单击对象所在的存储桶,进入存储桶的文件列表页面。
3. 在文件列表中,找到需下载的对象,并单击下载。
注意:
下载文件会产生下载流量费用,推荐您先购买套餐用于抵扣流量费用。
删除文件
1. 登录 轻量对象存储控制台。
2. 在存储桶卡片页面中单击对象所在的存储桶,进入存储桶的文件列表页面。
3. 在文件列表中,找到需删除的对象,并单击删除;在弹出的窗口中单击确定后即可删除。
注意:
删除文件后,文件无法再恢复,请慎重执行删除操作。
重命名文件
1. 登录 轻量对象存储控制台。
2. 在存储桶卡片页面中单击对象所在的存储桶,进入存储桶的文件列表页面。
3. 在文件列表中,找到需要重命名的对象,并单击更多 > 重命名。
4. 在弹出的窗口中修改名称,单击确定后即可完成重命名。
分享文件
1. 登录 轻量对象存储控制台。
2. 在存储桶卡片页面中单击对象所在的存储桶,进入存储桶的文件列表页面。
3. 在文件列表中,找到需分享的对象,单击分享。
4. 在弹出的窗口中,选择链接有效期和域名。
5. 选择有效期。
对于私有读存储桶,需要使用签名链接才能下载对象,用户需要指定签名的有效期。
对于公有读存储桶,可跳过该选项。
6. 选择域名。
如果已配置自定义域名,推荐使用自定义域名,生成文件链接。
如果未配置自定义域名,支持通过体验域名生成文件链接,但请求的 QPS 会受到限制。
注意:
携带签名的分享链接具有更高的安全性,链接有效期支持设置 XX小时 - XX小时。不携带签名的分享链接在私有读写的情况下,不可被匿名用户访问。
注意事项
命名规范
存储桶中的文件名称需要遵循相应的命名规范:
可以使用任何 UTF-8字符,为了确保名称与其他应用程序的最大兼容性,推荐使用英文大小写字母、数字,即[a-z,A-Z,0-9]及其组合。
编码长度最大为850个字节。
不允许以正斜线
/或者反斜线\\开头。不支持 ASCII 控制字符中的字符上(↑)、字符下(↓)、字符右(→)、字符左(←),分别对应 CAN(24)、EM(25)、SUB(26)、ESC(27)。
对于特殊字符,例如
*、%等字符,尽量避免直接作为文件名使用。说明:
如果用户上传的文件或文件夹的名字带有中文,在访问和请求这个文件或文件夹时,中文部分将按照 URL Encode 规则转化为百分号编码。
例如:对
文档.doc进行访问的时候,文件名称为:文档.doc,实际读取的按 URL Encode 规则转化的百分号编码为:%e6%96%87%e6%a1%a3.doc。以下是有效的对象键命名示例:
doc/exampleobject
my.great_photos-2016/01/me.jpg
videos/2016/birthday/video.wmv
特殊字符
有些字符在对象键中可能需要以十六进制形式在 URL 中编码或引用,其中有些甚至是不可被打印的,因此浏览器可能无法处理它们,对于这些字符需要进行特殊处理。可能需要特殊处理的字符如下:
特殊字符列表 | |||
, | : | ; | = |
& | $ | @ | + |
? | (空格) | ASCII 字符范围:00-1F 十六进制(0 - 31十进制)以及7F(127十进制) | |
还有一些字符因为需要进行大量的特殊处理才能在所有应用程序间保持一致性,所以建议直接避免使用。需要避免的字符如下:
特殊字符列表 | |||
` | ^ | " | \\ |
{ | } | [ | ] |
~ | % | # | | |
* | > | < | ASCII 128-255十进制 |
访问地址
访问地址由存储桶访问地址和文件名称组成,其结构形式为
<存储桶域名>/<文件名称> 。体验域名
创建存储桶后,会根据存储桶名为您分配一个体验域名,用于管理对象和存储桶。除下载对象外,其他操作均通过该域名发起请求。
体验域名的格式为:
<BucketName-Appid>.global.tencentcos.cn文件地址为:
<BucketName-Appid>.global.tencentcos.cn/<文件名称>例如:上传文件
exampleobject.txt到广州(华南)的存储桶examplebucket-1250000000中,那么exampleobject.txt的访问地址是:examplebucket-1250000000.global.tencentcos.cn/exampleobject.txt。注意:
针对下载对象,推荐用户使用自定义域名,以获取访问加速效果。此外,体验域名针对下载操作限制10QPS。
自定义域名
文件地址为:
<自定义域名>/<文件名称>例如:上传文件
exampleobject.txt到广州(华南)的存储桶examplebucket-1250000000中,用户为存储桶配置了自定义域名 diydomain.com那么exampleobject.txt的访问地址是:diydomain.com/exampleobject.txt。文件夹和目录
与对象存储 COS 类似,轻量对象存储本身没有文件夹和目录的概念,不会因为上传对象
project/a.txt而创建一个project文件夹。为了满足用户使用习惯,我们在控制台等图形化工具中模拟了「文件夹」或「目录」的展示方式,具体实现是通过创建一个键值为project/,内容为空的对象,展示方式上模拟了传统文件夹。例如:通过 API、SDK 上传对象
project/doc/a.txt ,分隔符/会模拟「文件夹」的展示方式,于是可以看到控制台上出现「文件夹」project和doc,其中doc是project下一级「文件夹」,并包含了a.txt。注意:
存储桶中不同对象是扁平的分布到不同的分布式集群中的,因此无法直接获取某对象键前缀容量的大小,只能通过累加各对象的大小得到。
对于文件夹和目录进行删除操作,情况会比较复杂,详情如下:
删除途径 | 删除文件或文件夹 | 结果 |
控制台 | 文件夹 project | 对象键前缀为 project/的全部对象都会被删除 |
控制台 | 文件 project/doc/a.txt | project和doc文件夹仍会保留 |
API、SDK | 文件 project/或project/doc/ | 对象 project/doc/a.txt仍会保留。如果想将文件夹内的对象一并删除,则需要用代码遍历实现删除文件夹内文件的功能 |