
# 复制段
#### 功能说明
初始化分段上传任务后，通过分段上传任务的ID，复制段到指定桶中。
#### 方法定义
```
ObsClient.copyPart
```
#### 请求参数
| **字段名**           | **类型**                                                                      | **约束** | **说明**                                                                                                                                                       |
|:---|:---|:---|:---|
| Bucket            | String                                                                      | 必选     | 桶名。                                                                                                                                                          |
| Key               | String                                                                      | 必选     | 对象名。                                                                                                                                                         |
| RequestDate       | String 或 Date | 可选     | 指定请求时间。 说明： 当为String类型时，必须符合ISO8601或RFC822规范。                                                      |
| PartNumber        | Number                                                                      | 必选     | 段号，取值范围：\[1，10000\]。                                                                                                                                         |
| UploadId          | String                                                                      | 必选     | 分段上传任务的ID。                                                                                                                                                   |
| CopySource        | String                                                                      | 必选     | 指定源桶、源对象和源对象版本号（可为空）的参数，格式：源桶名/源对象名?versionId=源对象版本号。                                                                                                        |
| CopySourceRange   | String                                                                      | 可选     | 指定复制源对象的范围，取值区间：\[0，源对象长度-1\]，格式：bytes=x-y。如果CopySourceRange的最大长度超出源对象长度-1，仍旧取源对象长度-1。                                                                       |
| SseC              | String                                                                      | 可选     | 以SSE-C方式加密目标段，支持的值： - AES256   |
| SseCKey           | String                                                                      | 可选     | SSE-C方式下加密的密钥，该密钥需要您自定义，并由256bit的密钥经过base64编码得到。                                                                                                             |
| CopySourceSseC    | String                                                                      | 可选     | 以SSE-C方式解密源对象，支持的值： - AES256        |
| CopySourceSseCKey | String                                                                      | 可选     | SSE-C方式下解密源对象的密钥。                                                                                                                                            |
   
#### 返回结果（InterfaceResult）
| **字段名**      | **类型** | **说明**         |
|:---|:---|:---|
| RequestId    | String | OBS服务端返回的请求ID。 |
| ETag         | String | 目标段的ETag值。     |
| LastModified | String | 目标段的最近一次修改时间。  |
   
#### 代码样例
```
obsClient.copyPart({
       Bucket:'bucketname',
       Key : 'objectkey',
       PartNumber : 1,
       UploadId : 'uploadid',
       CopySource : 'sourcebucketname/sourceobjectkey',
       CopySourceRange : 'bytes=0-10'
},function (err, result){
       if(err){
              console.error('Error-->' + err);
       }else{
              if(result.CommonMsg.Status < 300){
                     console.log('RequestId-->' + result.InterfaceResult.RequestId);
                     console.log('LastModified-->' + result.InterfaceResult.LastModified);
                     console.log('ETag-->' + result.InterfaceResult.ETag);
              }else{
                     console.log('Code-->' + result.CommonMsg.Code);
                     console.log('Message-->' + result.CommonMsg.Message);
              }
       }
});
```
