复制段
功能说明
初始化分段上传任务后,通过分段上传任务的ID,复制段到指定桶中。
方法定义
1. ObsClient->copyPart(array $parameter) 2. ObsClient->copyPartAsync(array $parameter, callable $callback)
请求参数
字段名 |
类型 |
约束 |
说明 |
---|---|---|---|
Bucket |
string |
必选 |
桶名。 |
Key |
string |
必选 |
对象名。 |
PartNumber |
integer |
必选 |
段号,取值范围:[1,10000]。 |
UploadId |
string |
必选 |
分段上传任务的ID。 |
CopySource |
string |
必选 |
指定源桶、源对象和源对象版本号(可为空)的参数,格式:源桶名/源对象名?versionId=源对象版本号。 |
CopySourceRange |
string |
可选 |
指定复制源对象的范围,取值区间:[0,源对象长度-1],格式:bytes=x-y。如果CopySourceRange的最大长度超出源对象长度-1,仍然取源对象长度-1。 |
SseC |
string |
可选 |
以SSE-C方式加密目标段,支持的值:
|
SseCKey |
string |
可选 |
SSE-C方式下加密目标段的密钥,由AES256算法算出。 |
CopySourceSseC |
string |
可选 |
以SSE-C方式解密源对象,支持的值:
|
CopySourceSseCKey |
string |
可选 |
SSE-C方式下解密源对象的密钥,由AES256算法算出。 |
返回结果
字段名 |
类型 |
说明 |
---|---|---|
HttpStatusCode |
integer |
HTTP状态码。 |
Reason |
string |
HTTP文本描述。 |
RequestId |
string |
OBS服务端返回的请求ID。 |
ETag |
string |
目标段的ETag值。 |
LastModified |
string |
目标段的最近一次修改时间。 |
SseKms |
string |
SSE-KMS方式的算法。 |
SseKmsKey |
string |
SSE-KMS方式的密钥。 |
SseC |
string |
SSE-C方式的算法。 |
SseCKeyMd5 |
string |
SSE-C方式的密钥的MD5值。 |
代码样例
try { $resp = $obsClient->copyPart( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'UploadId' => 'uploadid', 'PartNumber' => 1, 'CopySource' => 'sourcebucketname/sourceobjectkey', 'CopySourceRange' => 'bytes=0-10' ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] ); printf ( "ETag:%s\n", $resp ['ETag'] ); printf ( "LastModified:%s\n", $resp ['LastModified'] ); } catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () ); }