J'ai utilisé le code ci-dessous pour télécharger une image dans le compartiment s3 à l'aide d'Android.

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));

Lorsque je crée un bucket dans les régions Asie-Pacifique (Singapour), cela fonctionne bien. Mais je dois changer de région de seau en Asie-Pacifique (Mumbai), puis cela jette une erreur ci-dessous.

Téléchargement d'images Amazon s3: com.amazonaws.services.s3.model.AmazonS3Exception: le mécanisme d'autorisation que vous avez fourni n'est pas pris en charge. Veuillez utiliser AWS4-HMAC-SHA256. (Service: Amazon S3; Code d'état: 400; Code d'erreur: InvalidRequest; ID de demande: 85D0346520B14007), ID de demande étendue S3: gC67avqeowqS4 + X + 2qkBxzLxfj9ABVV22zWgPcm / rZBKC0RIso201 + eMsvBsqdnHRI = 8n9nHRI

3
Sanjay Bhalani 5 avril 2017 à 13:48

2 réponses

Meilleure réponse

J'ai été utilisé ci-dessous SDK pour la même chose.

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

Maintenant utilisé sous la version de sdk que cela fonctionnera bien.

compile 'com.amazonaws:aws-android-sdk-s3:2.4.0'
4
Sanjay Bhalani 6 avril 2017 à 04:49

Confirmé, la mise à jour du sdk vers la dernière version l'a corrigé. dans mon cas,

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

Si vous rencontrez le même problème, vérifiez la version aws sdk dans votre fichier build.gradle au niveau de l'application.

Je réponds simplement au cas où quelqu'un viendrait le chercher.

0
Logesh R 7 janv. 2018 à 09:09