获得拒绝访问错误:
拒绝访问(服务:亚马逊S3;状态码:403;错误代码:存取遭拒;请求ID:AEB65D41FEB958C7; S3扩展请求ID:jhCxO / Mv4MTxMRjvkM3bHVJ3dhb7TBeK0k7qHFUY3Q / RFhF591mRLeIzPXUEF0EdtgX9FNJXSq4 =),S3扩展请求ID:jhCxO / Mv4MTxMRjvkM3bHVJ3dhb7TBeK0k7qHFUY3Q / RFhF591mRLeIzPXUEF0EdtgX9FNJXSq4 =文件上传异常:访问被拒绝(服务:Amazon S3;状态代码:403;错误代码:AccessDenied;请求ID:AEB65D41FEB958C7;
尝试上传文件时。我的代码是:
private void uploadFile(String fileName, File file) {
System.out.print("clouldfileservice: putREqeust");
PutObjectRequest request = new PutObjectRequest(this.bucketName, fileName, file)
.withCannedAcl(CannedAccessControlList.PublicRead);
try {
PutObjectResult result = this.s3Client.putObject(request);
} catch (Exception e) {
System.out.print("File Upload Exception:" + e.toString());
System.out.print("File Upload Exception:" + e.getLocalizedMessage());
}
}
答案 0 :(得分:1)
错误表明您无权访问S3存储桶。
正确的解决方案:
转到policy generator并生成一个,它是定义谁可以访问此资源的配置。
将该策略粘贴到桶设置> 权限> 桶策略并保存。
快速而肮脏的解决方案:
在以下位置选中“列表”和“写入”复选框:存储桶设置> 权限> 公共访问权限> 所有人 >。
转到:时段设置> 权限> 时段政策