【发布时间】:2016-02-27 18:55:24
【问题描述】:
大家好,
我正在使用 AWS S3 SDK 2.2.8 将图像上传到 S3。我创造了 S3 控制台中的存储桶。
我正在使用以下 sn-p 代码上传文件。
String AWS_ACC_ID="XXXX-XXXX-XXX";
String AWS_POOL_ID="us-east-1:XXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX";
String AWS_UNAUTH_ROLE="arn:aws:iam:XXXXXXX";
String AWS_AUTH_ROLE="arn:aws:iam:XXXXXXX";
AWSCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
context, AWS_ACC_ID,
AWS_POOL_ID, AWS_UNAUTH_ROLE,
AWS_AUTH_ROLE, Regions.US_EAST_1);
AmazonS3 s3Client = new AmazonS3Client(credentialsProvider);
PutObjectRequest putRequest = new PutObjectRequest(
AwsCredentials.AWS_BUCKET_NAME,
folderPath + file.getName(), file)
.withCannedAcl(CannedAccessControlList.PublicRead);
s3Client.putObject(putRequest);
我收到以下异常:
com.amazonaws.AmazonServiceException:检测到 1 个验证错误: 'accountId' 处的值 'XXXX-XXXX-XXXX' 未能满足约束: 成员必须满足正则表达式模式:\d+(服务: 亚马逊认知身份;状态码:400;错误代码: 验证异常;请求 ID:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX)
但是当我使用旧的 AWS 开发工具包时,我可以将文件上传到 S3。
【问题讨论】:
标签: android amazon-web-services amazon-s3 aws-sdk