S3Client copyObject交叉区域

Roe*_*rel 2 java amazon-s3 amazon-web-services aws-sdk

我正在尝试在不同区域的2个S3存储桶之间复制文件:

US_EAST_1 ---> EU_CENTRAL_1

使用以下命令:

s3client.copyObject(sourceBucket, sourceFile, DestBucket, DestFile);
Run Code Online (Sandbox Code Playgroud)

我启动了s3client而没有提供允许它与两个区域一起工作的区域,但是我收到以下错误:

引起:com.amazonaws.services.s3.model.AmazonS3Exception:您尝试访问的存储区必须使用指定的端点进行寻址.请将以后的所有请求发送到此端点.(服务:亚马逊S3;状态码:301;错误代码:PermanentRedirect;请求ID:C2E6D084FF257437),S3扩展请求ID:rXDTuqPSCCKWoF8luScpL +/+ po93oEQC2VSNUBQtSLBh5q8yEAO0WwK8FnBMPGEZQjS = zwkkHWBg在com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1305) at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:852)at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:630)at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:405) )在com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:367)在com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:318)在com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.的java:3787)在com.amazonaws.services.s3.AmazonS3Client.copyObject(AmazonS3Client.java:1530)在com.amazonaws.services.s3.AmazonS3Client.copyObject(AmazonS3Client.java:1487)

我正在使用'aws-java-sdk'版本:'1.11.7'

如何克服这个错误?

Mat*_*ser 8

客户端无法配置为"在两个区域中工作".它必须配置一个区域,以便它在单个区域中工作.

在存储桶之间(区域之间)复制对象时,请将客户端设置为目标区域.然后,指定源和目标存储桶.