最近更新时间:2023-05-24 17:38:58
将一个在ks3中存在的Object拷贝到某个Bucket中,以下为示例代码:
// 将一个object复制到另一个bucket中
// destinationBucketName: 需要复制到此bucket之下
// destinationObjectKey:复制到指定bucket后的objectKey
// sourceBucketName:源bucketName
// sourceKey: 源ObjectKey
client.copyObject("<destinationBucketName>", "<destinationObjectKey>", "sourceBucketName", "sourceKey", new CopyObjectResponseHandler() {
@Override
public void onFailure(int statesCode, Ks3Error error,
Header[] responceHeaders, String response, Throwable paramThrowable) {
}
@Override
public void onSuccess(int statesCode, Header[] responceHeaders,CopyResult result) {
// 请求成功 返回Copy结果信息实体类
}
});
// 上面是拷贝一份object 不做任何信息修改的方式
// 如果你有修改控制权限的需要 可以通过下面的方式执行
AccessControlList accessControlList = new AccessControlList();
// accessControlList.addGrant();
// ...
client.copyObject(destinationBucket, destinationObjectKey, sourceBucketName, sourceKey, accessControlList, new CopyObjectResponseHandler() {
@Override
public void onFailure(int statesCode, Ks3Error error, Header[] responceHeaders, String response, Throwable paramThrowable) {
//请求异常
}
@Override
public void onSuccess(int statesCode, Header[] responceHeaders, CopyResult result) {
//请求成功
}
});
注:拷贝的源文件大小最大为1GB,如需拷贝超过1GB的文件,请使用Upload Part Copy进行分块拷贝,目标桶和源桶必须在同一个region。详细说明请参考PUT Object Copy。
纯净模式