文件拷贝 - Copy
简介
调用Copy接口拷贝同一地域下相同或不同存储空间(Bucket)之间的文件(Object)。
使用限制
- Object大小限制
- 建议通过Copy拷贝小于 100MB 的Object。当您需要拷贝大于 100MB 的Object时,需使用UploadPartCopy接口。
- 权限说明
- 使用Copy或UploadPartCopy接口均要求对源Object有读权限。
定义
句法(Syntax):
PUT /<object_name> HTTP/1.1
Host: <bucket_name>.cn-bj.ufileos.com
Authorization: <token>
Content-Length: <length>
X-Ufile-Copy-Source: </SourceBucketName/SourceObjectName>
请求参数(Request Parameters)
请求头(Request Headers)
Name | Type | Description | Required |
---|---|---|---|
Authorization | String | 上传请求的授权签名,API 签名算法 | Yes |
Content-Length | Integer | 请求body部分即待上传文件的长度 | Yes |
X-Ufile-Copy-Source | String | 指定拷贝的源地址 | Yes |
X-Ufile-Metadata-Directive | String | 指定如何设置目标Object的元信息。 * COPY(默认值):复制源Object的元数据到目标Object。 * REPLACE:忽略源Object的元数据,直接采用请求中指定的元数据。文件存储类型,分别是标准、低频、归档,对应有效值:STANDARD, IA, ARCHIVE | No |
X-Ufile-Storage-Class | String | No |
请求元素(Request Elements)
说明:未使用。
响应(Responses)
响应头(Response Headers)
Name | Type | Description |
---|---|---|
Content-Type | String | 响应body部分的类型 |
Content-Length | Integer | 响应body部分的长度 |
ETag | String | 已经上传文件在US3中的哈希值 |
X-SessionId | String | 请求失败时返回本次请求的会话Id |
响应元素(Response Elements)
Name | Type | Description |
---|---|---|
RetCode | Integer | 执行失败时的错误代码 |
ErrMsg | String | 执行失败时的错误消息 |
注意: 成功执行只会返回HTTP 200回应,不带body数据。
示例
请求示例(Example Request):
PUT /demokey HTTP/1.1
Host: <bucket_name>.cn-bj.ufileos.com
Authorization: demouser@ucloud.cn13424346821929713944:S5FVD2w613MKb/hisjaqHdjvn9U=
Content-Length: 11434
Content-Type: image/jpg
Content-MD5: c5371fe3624d438cd8a59420a3221978
X-Ufile-Copy-Source: /SourceBucketName/SourceObjectName
响应示例(Example Response):
HTTP/1.1 200 OK
Content-Length: 0
ETag: "AQAAABP9DJdoo2X0hKyax2pVTLQPaVzH"
响应错误示例(Example Response with Error):
HTTP/1.1 404 Not Found
Content-Type: applicaton/json
Content-Length: 54
X-SessionId: e2f4fc84-3936-4a2d-85b5-ef8f2e79933c
X-Ufile-Copy-Source: /SourceBucketName/SourceObjectName
{
"RetCode": -30010,
"ErrMsg": "bucket not exist"
}