我已經使用Android代碼將以下代碼上傳到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));
當我在亞太地區(新加坡)地區創建存儲桶時,它工作正常。 但是我必須將桶的區域改爲亞太地區(孟買),然後拋出錯誤。
Amazon S3的形象 上傳:com.amazonaws.services.s3.model.AmazonS3Exception:您提供的 授權機制不被支持。請使用 AWS4-HMAC-SHA256。 (服務:亞馬遜S3;狀態碼:400;錯誤代碼: InvalidRequest;請求ID:85D0346520B14007),S3擴展請求ID: gC67avqeowqS4 + X + 2qkBxzLxfj9ABVV22zWgPcm/rZBKC0RIso201 + eMsvBsqdnH + 8n0V9RI0J8 =
嗨,您使用BasicAWSCredentials的用例是什麼?在應用程序中使用硬編碼憑據是非常危險的,不推薦使用。你可以使用Cognito身份嗎?這是一項免費服務,專爲移動用例而設計。 另外,你可以提到你使用的SDK版本嗎?你有沒有嘗試使用AWSS3TransferUtility?這很容易用於實現簡單的上傳用例。 –
嗨Rohan感謝回答, 我被用於2.2.13 SDK版本相同。亞太地區(孟買)不支持Cognit Identity。現在我已經使用了2.4.0 sdk版本,問題解決了。 –