我正在尝试在不同区域的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”

如何克服这个错误?

最佳答案

客户端不能配置为“在两个区域中都可以工作”。它必须配置一个区域,这样它才能在单个区域中工作。

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

07-26 03:25