tencent cloud

对象存储

动态与公告
产品动态
产品公告
产品简介
产品概述
功能概览
应用场景
产品优势
基本概念
地域和访问域名
规格与限制
产品计费
计费概述
计费方式
计费项
免费额度
计费示例
查看和下载账单
欠费说明
常见问题
快速入门
控制台快速入门
COSBrowser 快速入门
用户指南
创建请求
存储桶
对象
数据管理
批量处理
全球加速
监控与告警
运维中心
数据处理
内容审核
智能工具箱
数据工作流
应用集成
工具指南
工具概览
环境安装与配置
COSBrowser 工具
COSCLI 工具
COSCMD 工具
COS Migration 工具
FTP Server 工具
Hadoop 工具
COSDistCp 工具
HDFS TO COS 工具
GooseFS-Lite 工具
在线辅助工具
自助诊断工具
实践教程
概览
访问控制与权限管理
性能优化
使用 AWS S3 SDK 访问 COS
数据容灾备份
域名管理实践
图片处理实践
COS 音视频播放器实践
工作流实践
数据直传
内容审核实践
数据安全
数据校验
大数据实践
COS 成本优化解决方案
在第三方应用中使用 COS
迁移指南
本地数据迁移至 COS
第三方云存储数据迁移至 COS
以 URL 作为源地址的数据迁移至 COS
COS 之间数据迁移
Hadoop 文件系统与 COS 之间的数据迁移
数据湖存储
云原生数据湖
元数据加速
数据加速器 GooseFS
数据处理
数据处理概述
图片处理
媒体处理
内容审核
文件处理
文档处理
故障处理
获取 RequestId 操作指引
通过外网上传文件至 COS 缓慢
访问 COS 时返回403错误码
资源访问异常
POST Object 常见异常
API 文档
简介
公共请求头部
公共响应头部
错误码
请求签名
操作列表
Service 接口
Bucket 接口
Object 接口
批量处理接口
数据处理接口
任务与工作流
内容审核接口
云查毒接口
SDK 文档
SDK 概览
准备工作
Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Flutter SDK
Go SDK
iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
React Native SDK
小程序 SDK
错误码
鸿蒙(Harmony) SDK
终端 SDK 质量优化
安全与合规
数据容灾
数据安全
访问管理
常见问题
热门问题
一般性问题
计费计量问题
域名合规问题
存储桶配置问题
域名和 CDN 问题
文件操作问题
日志监控问题
权限管理问题
数据处理问题
数据安全问题
预签名 URL 问题
SDK 类问题
工具类问题
API 类问题
服务协议
Service Level Agreement
隐私政策
数据处理和安全协议
联系我们
词汇表

对象概述

PDF
聚焦模式
字号
最后更新时间: 2024-02-28 10:42:02

简介

对象(Object)是对象存储(Cloud Object Storage,COS)的基本单元,可理解为任何格式类型的数据,例如图片、文档和音视频文件等。存储桶(Bucket)是对象的载体,每个存储桶可容纳任意数量的对象。对象在 COS 中可指定为不同的存储类型,详情请参见 存储类型概述
每个对象都由对象键(ObjectKey)、对象值(Value)、和对象元数据(Metadata)组成。
对象键(ObjectKey):对象键是对象在存储桶中的唯一标识,可以通俗的理解为文件路径。在 API、SDK 示例中,对象的命名格式为<ObjectKey>
对象值(Value):即上传的对象本身,可以通俗的理解为文件内容(Object Content)。
对象元数据(Metadata):是一组键值对,可以通俗的理解为文件的属性,例如文件的修改时间、存储类型等,您可以在上传对象后对其进行查询。

对象键

腾讯云 COS 中的对象需具有合法的对象键,对象键(ObjectKey)是对象在存储桶中的唯一标识。 例如:在对象的访问地址examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/folder/picture.jpg 中,对象键为folder/picture.jpg

命名规范

对象键的名称可以使用任何 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 十进制


对象访问地址

对象的访问地址由存储桶访问地址和对象键组成,其结构形式为<存储桶域名>/<对象键> 。 例如:上传对象exampleobject.txt到广州(华南)的存储桶examplebucket-1250000000中,那么exampleobject.txt的访问地址是:examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/exampleobject.txt

文件夹和目录

对象存储中本身是没有文件夹和目录的概念的,对象存储不会因为上传对象project/a.txt而创建一个project文件夹。为了满足用户使用习惯,对象存储在控制台、COS browser 等图形化工具中模拟了「文件夹」或「目录」的展示方式,具体实现是通过创建一个键值为project/,内容为空的对象,展示方式上模拟了传统文件夹。
例如:通过 API、SDK 上传对象project/doc/a.txt ,分隔符/会模拟「文件夹」的展示方式,于是可以看到控制台上出现「文件夹」projectdoc,其中docproject下一级「文件夹」,并包含了a.txt
注意
存储桶中不同对象是扁平的分布到不同的分布式集群中的,因此无法直接获取某对象键前缀容量的大小,只能通过累加各对象的大小得到。
对于文件夹和目录进行删除操作,情况会比较复杂,详情如下:
删除途径
删除对象或文件夹
结果
控制台
文件夹project
对象键前缀为project/的全部对象都会被删除
控制台
对象project/doc/a.txt
projectdoc文件夹仍会保留
API、SDK
对象project/project/doc/
对象project/doc/a.txt仍会保留。如果想将文件夹内的对象一并删除,则需要用代码遍历实现删除文件夹内对象的功能

对象元数据

对象元数据在对象中是一组键值对,是服务器以 HTTP 协议传 HTML 资料到浏览器前所送出的字符串,又称为 HTTP Header。通过在上传对象时修改 HTTP Header,可以改变页面的响应形式,或者传达配置信息,例如修改缓存时间。
对象元数据包括有两种元数据:系统元数据和用户定义的元数据。
说明
修改对象的 HTTP Header 不会修改对象本身。

系统元数据

指对象的属性信息,例如对象修改时间、对象大小、存储类型等。
名称
说明
Content-Length
RFC 2616 中定义的 HTTP 请求内容长度(字节)
Last-Modified
对象创建日期或上次修改日期(以较晚者为准)
x-cos-version-id
对象版本 ID。在存储桶上启用版本控制时,返回对象的版本 ID,用于标识同一对象的历史版本
ETag
如通过 PUT Object 上传的对象,则为上传文件内容的 MD5 值,如通过分块上传或使用历史版本 API 上传的对象,为上传文件内容的唯一 ID,不具备校验功能


用户定义元数据

指的是对象的可自定义参数,如 Content-Type,Cache-Control,Expires,x-cos-meta-* 等。具体信息请参见 自定义对象 Headers
名称
说明
Cache-Control
RFC 2616 中定义的缓存策略,将作为对象元数据保存
Content-Disposition、Content-Encoding、Content-Type
RFC 2616 中定义的文件名称/编码格式/内容类型(MIME),将作为对象元数据保存
Expires
RFC 2616 中定义的缓存失效时间,将作为对象元数据保存
x-cos-acl
定义对象的访问控制列表(ACL)属性。有效值:private,public-read-write,public-read;默认值:private
x-cos-grant-*
赋予被授权者某种权限
x-cos-meta-*
允许用户自定义的头部信息,将作为对象元数据返回(大小限制为2K)
x-cos-storage-class
设置对象的存储级别,枚举值:STANDARD,STANDARD_IA,ARCHIVE;默认值:STANDARD
x-cos-server-side-encryption
指定是否为对象启用服务端加密及加密的方式


对象操作

用户可以通过腾讯云控制台、工具、API、SDK 等多种方式管理对象。
注意
按照支持的最大上传文件大小,划分为两种上传方式:简单上传分块上传
使用简单上传,对象大小限制在5GB以内。
使用分块上传,每块的大小限制在5GB以内,分块数量需要小于10000,即最大上传对象约为48.82TB,更多限制说明,请参见 规格与限制
上传对象完成后,用户可以通过控制台对对象进行相关配置,具体请参见以下内容:

对象子资源

COS 有与存储桶和对象相关联的子资源。子资源从属于对象,即子资源不会自行存在,它始终与某些其他实体(例如对象或存储桶)相关联。 访问控制列表(Access Control List)是指特定对象的访问控制信息列表,它是 COS 中对象的子资源。
访问控制列表包含可以识别被授权者和其被授予的许可的授权列表,来实现对对象的访问控制。创建对象时,ACL 将识别可以完全控制对象的对象所有者。用户可以检索对象 ACL 或将其替换为更新的授权列表。
说明
对 ACL 的任何更新都需要替换现有 ACL。

访问权限类型

对象存储 COS 支持对象设置两种权限类型:公共权限用户权限公共权限:包括继承权限、私有读写和公有读私有写。
继承权限:对象继承存储桶的权限,与存储桶的访问权限一致。当访问对象时,COS 读取到对象权限为继承存储桶权限,会匹配存储桶的权限,来响应访问。任何新对象被添加时,默认继承存储桶权限。
私有读写:当访问对象时,COS 读取到对象的权限为私有读写,此时无论存储桶为何种权限,对象都需要通过 请求签名 才可访问。
公有读私有写:当访问对象时,COS 读取到对象的权限为公有读,此时无论存储桶为何种权限,对象都可以被直接下载。
用户权限:主账号默认拥有对象所有权限(即完全控制)。另外 COS 支持添加子账号有数据读取、数据写入、权限读取、权限写入,甚至完全控制的最高权限。

适用场景

在私有读写的存储桶中对特定对象设置允许公有访问,或在公有读写存储桶中对特定对象设置需要鉴权才可访问。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈