如何解决Jmeter-如何将S3中的文件从一个存储桶复制到另一个存储桶
我需要将大文件从 AWS S3 中的一个存储桶(源)上传到同一 S3 中的不同存储桶(目标)。我们有从目的地选择文件并移动文件的脚本。
我尝试了下面的代码,虽然通过了采样器,但没有复制文件。然后我尝试从本地上传到 S3。由于我需要测试高达 15GB 的大文件,因此上传到 S3 需要很多时间。 有没有办法从S3复制到S3。
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.copyObjectRequest;
import java.io.IOException;
public class copyObjectSingleOperation {
public static void main(String[] args) throws IOException {
Regions clientRegion = Regions.DEFAULT_REGION;
String bucketName = "*** Bucket name ***";
String sourceKey = "*** Source object key *** ";
String destinationKey = "*** Destination object key ***";
try {
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new ProfileCredentialsProvider())
.withRegion(clientRegion)
.build();
// copy the object into a new object in the same bucket.
copyObjectRequest copyObjRequest = new copyObjectRequest(bucketName,sourceKey,bucketName,destinationKey);
s3Client.copyObject(copyObjRequest);
} catch (AmazonServiceException e) {
// The call was transmitted successfully,but Amazon S3 Couldn't process
// it,so it returned an error response.
e.printstacktrace();
} catch (SdkClientException e) {
// Amazon S3 Couldn't be contacted for a response,or the client
// Couldn't parse the response from Amazon S3.
e.printstacktrace();
}
}
}
解决方法
您可以使用以下选项之一;
-
AWS CLI aws s3 sync 例如
aws s3 sync s3://source-examplebucket s3://destination-examplebucket
-
AWS CLI aws s3 cp 例如
aws s3 cp s3://source-examplebucket/ s3://destination-examplebucket/ --recursive
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。