使用Android将图像上传到s3存储桶时的授权问题

时间:2017-04-05 10:48:46

标签: android amazon-web-services amazon-s3

我已使用以下代码将图像上传到使用Android的s3存储桶。

AmazonS3 s3client = new AmazonS3Client(new BasicAWSCredentials(context.getString(R.string.accesskey),context.getString(R.string.secretkey)));
PutObjectResult result = s3client.putObject(new PutObjectRequest(bucketName, amazonfilepath, file).withAccessControlList(acl));

当我在亚太地区(新加坡)创建水桶时,它运作良好。 但是我必须将铲斗的区域改为亚太地区(孟买),然后它会低于错误。

  

亚马逊s3图片   上传:com.amazonaws.services.s3.model.AmazonS3Exception:The   您提供的授权机制不受支持。请用   AWS4-HMAC-SHA256。 (服务:Amazon S3;状态代码:400;错误代码:   非法请求;收审ID:85D0346520B14007),S3扩展请求ID:   gC67avqeowqS4 + X + 2qkBxzLxfj9ABVV22zWgPcm / rZBKC0RIso201 + eMsvBsqdnH + 8n0V9RI0J8 =

2 个答案:

答案 0 :(得分:4)

我在SDK下使用同样的。

compile 'com.amazonaws:aws-android-sdk-s3:2.2.13' 

现在使用下面的sdk版本比它可以正常工作。

compile 'com.amazonaws:aws-android-sdk-s3:2.4.0'

答案 1 :(得分:0)

确认,将sdk更新到最新版本修复了它。就我而言,

implementation 'com.amazonaws:aws-android-sdk-core:2.6.13'
implementation 'com.amazonaws:aws-android-sdk-s3:2.6.13'

如果您遇到同样的问题,请检查应用级build.gradle文件中的aws sdk版本。

只是回答有人来这里寻找它。