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
隐私政策
数据处理和安全协议
联系我们
词汇表

Upload Part - Copy

PDF
聚焦模式
字号
最后更新时间: 2024-11-22 10:28:31

功能描述

Upload Part - Copy 请求用于实现将一个对象的分块内容从源路径复制到目标路径。通过指定 x-cos-copy-source 来指定源对象,x-cos-copy-source-range 指定字节范围(允许分块的大小为1MB - 5GB)。
说明
以下两种情况拥有调用此 API 的权限:
拥有主账号权限。
拥有源对象 GetObject 接口权限,且在目标路径下有 InitiateMultipartUpload、ListMultipartUploads、ListParts、PutObject、CompleteMultipartUpload、AbortMultipartUpload 接口权限。
注意
使用 Upload Part - Copy 接口前,需先使用 Initiate Multipart Upload 接口初始化分块上传任务并指定目标路径。
如果目标对象和源对象不属于同一个地域,且目标对象分块会超过5GB,那么需要使用分块上传或者分块拷贝的接口来复制对象。
使用上传分块对象,必须先初始化分块上传。在初始化分块上传的响应中,会返回一个唯一的描述符(upload ID),您需要在分块上传请求中携带此 ID。


版本控制

当存储桶启用了版本控制,x-cos-copy-source 标识被复制的对象的当前版本。如果当前版本是删除标记,并且 x-cos-copy-source 不指定版本,则对象存储会认为该对象已删除并返回404错误。如果您在 x-cos-copy-source 中指定 versionId 且 versionId 是删除标记,则对象存储会返回 HTTP 400错误,因为删除标记不允许作为 x-cos-copy-source 的版本。

请求

请求示例

PUT /<ObjectKey>?partNumber=PartNumber&uploadId=UploadId HTTP/1.1
Host: <Bucketname-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: Auth String
x-cos-copy-source: <Bucketname>-<APPID>.cos.<Region>.myqcloud.com/filepath
x-cos-copy-source-range: bytes=first-last
x-cos-copy-source-if-match: etag
x-cos-copy-source-if-none-match : etag
x-cos-copy-source-if-unmodified-since: time_stamp
x-cos-copy-source-if-modified-since: time_stamp
说明
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com,其中 <BucketName-APPID> 为带 APPID 后缀的存储桶名字,例如 examplebucket-1250000000,可参阅 存储桶概览 > 基本信息存储桶概述 > 存储桶命名规范 文档;<Region> 为 COS 的可用地域,可参阅 地域和访问域名 文档。
Authorization: Auth String(详情请参见 请求签名 文档)。

请求头

公共头部

该请求操作的实现使用公共请求头,了解公共请求头详情请参见 公共请求头部 文档。

非公共头部

必选头部
该请求操作的实现使用如下必选头部:
名称
描述
类型
是否必选
x-cos-copy-source
源对象 URL 路径,可以通过 versionid 子资源指定历史版本
String
推荐头部
该请求操作的实现使用如下推荐请求头部信息:
名称
描述
类型
是否必选
x-cos-copy-source-range
源对象的字节范围,范围值必须使用 bytes=first-last 格式,first 和 last 都是基于 0 开始的偏移量。
例如 bytes=0-9 表示您希望拷贝源对象的开头10个字节的数据,如果不指定,则表示拷贝整个对象
String
x-cos-copy-source-If-Modified-Since
当 Object 在指定时间后被修改,则执行操作,否则返回412,可与 x-cos-copy-source-If-None-Match 一起使用,与其他条件联合使用返回冲突
String
x-cos-copy-source-If-Unmodified-Since
当 Object 在指定时间后未被修改,则执行操作,否则返回412,可与 x-cos-copy-source-If-Match 一起使用,与其他条件联合使用返回冲突
String
x-cos-copy-source-If-Match
当 Object 的 Etag 和给定一致时,则执行操作,否则返回412,可与 x-cos-copy-source-If-Unmodified-Since 一起使用,与其他条件联合使用返回冲突
String
x-cos-copy-source-If-None-Match
当 Object 的 Etag 和给定不一致时,则执行操作,否则返回412,可与 x-cos-copy-source-If-Modified-Since 一起使用,与其他条件联合使用返回冲突
String

请求参数

名称
描述
类型
是否必选
partNumber
分块拷贝的块号
String
uploadId
使用上传分块文件,必须先初始化分块上传。在初始化分块上传的响应中,会返回一个唯一的描述符(upload ID),您需要在分块上传请求中携带此 ID
String

请求体

该请求的请求体为空。

响应

响应头

公共响应头

该响应包含公共响应头,了解公共响应头详情请参见 公共响应头部 文档。

特有响应头

名称
描述
类型
x-cos-copy-source-version-id
如果已在源存储桶上启用版本控制,则复制源对象的版本
String
x-cos-server-side-encryption
如果通过 COS 管理的服务端加密来存储对象,响应将包含此头部和所使用的加密算法的值,AES256
String

响应体

该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<?xml version="1.0" encoding="UTF-8" ?>
<CopyPartResult>
<ETag>"ba82b57cfdfda8bd17ad4e5879ebb4fe"</ETag>
<LastModified>2017-09-04T04:45:45</LastModified>
</CopyPartResult>
具体的节点描述如下:
名称
描述
类型
CopyPartResult
返回复制结果信息
String
ETag
返回对象的 MD5 算法校验值,ETag 的值可以用于检查 Object 的内容是否发生变化
String
LastModified
返回对象最后修改时间,GMT 格式
String

错误码

此接口遵循统一的错误响应和错误码,详情请参见 错误码 文档。

实际案例

请求

PUT /exampleobject?partNumber=1&uploadId=1505706248ca8373f8a5cd52cb129f4bcf85e11dc8833df34f4f5bcc456c99c42cd1ffa2f9 HTTP/1.1
User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.13.1.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2
Accept: */*
x-cos-copy-source:examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/exampleobject1
x-cos-copy-source-range: bytes=10-100
Host: examplebucket-1250000000.cos.ap-shanghai.myqcloud.com
Authorization:q-sign-algorithm=sha1&q-ak=AKIDDNMEycgLRPI2axw9xa2Hhx87wZ3M****&q-sign-time=1507530223;1508530223&q-key-time=1507530223;1508530223&q-header-list=&q-url-param-list=&q-signature=d02640c0821c49293e5c289fa07290e6b2f0****

响应

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 133
Connection: keep-alive
Date: Mon, 04 Sep 2017 04:45:45 GMT
Server: tencent-cos
x-cos-request-id: NTlkYjFjYWJfMjQ4OGY3MGFfNGIz****

<CopyPartResult>
<ETag>"ba82b57cfdfda8bd17ad4e5879ebb4fe"</ETag>
<LastModified>2017-09-04T04:45:45</LastModified>
</CopyPartResult>


帮助和支持

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

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

文档反馈