Vig*_*nan 11 java amazon amazon-s3 amazon-web-services
我想在S3 Bucket中重命名一个文件.这是一段代码片段
S3Object s3Obj = getS3Client().getObject(new GetObjectRequest(getBucketName(), fileName));
//Error in Above Line itself
getS3Client().putObject(getBucketName(), newFileName, s3Obj.getObjectContent(), s3Obj.getObjectMetadata());
private AmazonS3 getS3Client(){
AWSCredentials myCredentials = new BasicAWSCredentials(AccessKey,SecretKey);
AmazonS3 s3client = new AmazonS3Client(myCredentials);
return s3client;
}
Run Code Online (Sandbox Code Playgroud)
所以,我收到这个错误,
DEBUG [main] request.handleErrorResponse(748)| 收到错误响应:com.amazonaws.services.s3.model.AmazonS3Exception:状态代码:403,AWS服务:null,AWS请求ID:AD2F31F1133A650E,AWS错误代码:AccessDenied.
我无法获得s3object本身.任何建议或想法我将如何获得S3对象并重命名它.在预期中感谢您的帮助.
H6.*_*H6. 23
无法直接重命名S3对象
通过复制对象并删除原始对象来重命名对象
您可以使用例如复制和删除
CopyObjectRequest copyObjRequest = new CopyObjectRequest(bucketName,
keyName, bucketName, destinationKeyName);
s3client.copyObject(copyObjRequest);
s3client.deleteObject(new DeleteObjectRequest(bucketName, keyName));
Run Code Online (Sandbox Code Playgroud)