[英]Upload File in S3 of AWS
我正在s3中上传文件,并编写以下代码:
String filePath=KeyProvider.localFolerPath + KeyProvider.suffix +KeyProvider.FileNameToUpload;
// upload file to folder and set it to public
String fileName = folderName + KeyProvider.suffix +KeyProvider.remoteFileName ;
s3client.putObject(
new PutObjectRequest(bucketName, fileName, new File(filePath))
.withCannedAcl(CannedAccessControlList.PublicReadWrite));`
它像抛出错误
com.amazonaws.services.s3.model.AmazonS3Exception:拒绝访问
请建议我在单独的常量文件中提供了存储桶名称密钥和机密的错误在哪里。
谢谢..
您检查亚马逊的文件了吗?
并且,要小心。 您需要将access_key和access_secret字符串设置为s3客户端。
例
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.AmazonServiceException;
// "credentialsProvider" will be created by some classes for example "AWSStaticCredentialsProvider"
//
// BasicAWSCredentials cred = new BasicAWSCredentials("xxxxx", "yyyyy");
// AWSStaticCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(cred);
AmazonS3 s3 = AmazonS3ClientBuilder.standard().withCredentials(credentialsProvider).build();
try {
s3.putObject(bucket_name, key_name, file_path);
} catch (AmazonServiceException e) {
System.err.println(e.getErrorMessage());
System.exit(1);
}
编辑
S3策略可以根据凭据或IP地址处理拒绝/允许访问。 您是否配置了此类策略?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.