微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jmeter-如何将S3中的文件从一个存储桶复制到另一个存储桶

如何解决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();
        }
    }
}

解决方法

您可以使用以下选项之一;

  1. S3 Batch Operations job

  2. AWS CLI aws s3 sync 例如aws s3 sync s3://source-examplebucket s3://destination-examplebucket

  3. AWS CLI aws s3 cp 例如aws s3 cp s3://source-examplebucket/ s3://destination-examplebucket/ --recursive

  4. AWS DataSync service

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。