我正在尝试在不同区域的2个S3存储桶之间复制文件:
US_EAST_1 ---> EU_CENTRAL_1
使用以下命令:
s3client.copyObject(sourceBucket, sourceFile, DestBucket, DestFile);
我在不提供区域的情况下启动s3client,以使其可以同时在两个区域中使用,但是出现以下错误:
引起原因:com.amazonaws.services.s3.model.AmazonS3Exception:
您尝试访问的存储桶必须使用
指定的端点。请将所有以后的请求发送到该端点。
(服务:Amazon S3;状态代码:301;错误代码:PermanentRedirect;
请求ID:C2E6D084FF257437),S3扩展请求ID:
rXDTuqPSCCKWoF8luScpL + / po93oEQC2VSNUBQtSLBh5q8yEAO0WwK8FnBMPGEZQjS + zwkkHWBg =
在
com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1305)
在
com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:852)
在
com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:630)
在
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”
如何克服这个错误?
最佳答案
客户端不能配置为“在两个区域中都可以工作”。它必须配置一个区域,这样它才能在单个区域中工作。
在存储桶之间(区域之间)复制对象时,将客户端设置为目标区域。然后,指定源和目标存储桶。