我尝试使用Amazon Mobile SDK Android
下载文件。我创建了我的存储桶,在我设置的权限中,每个人都可以写和读。在amazon Cognito
中,我将所有内容都保留为默认值。
尝试从我的存储桶下载任何文件时出现此错误...
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1 E/AndroidRuntime: java.lang.RuntimeException: An error occured while executing doInBackground() E/AndroidRuntime: at android.os.AsyncTask$3.done(AsyncTask.java:299) E/AndroidRuntime: at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352) E/AndroidRuntime: at java.util.concurrent.FutureTask.setException(FutureTask.java:219) E/AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:239) E/AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) E/AndroidRuntime: at java.lang.Thread.run(Thread.java:856) E/AndroidRuntime: Caused by: com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 09C37F19011C99ED), S3 Extended Request ID: NrSazbQ1KzqpB/6+YLHiE/vPt1W72zEXGF6TB5uP9vl92Apktzj8hgsz4lJKVhpDodzVMoxzO6Y= E/AndroidRuntime: at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:709) E/AndroidRuntime: at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:385) E/AndroidRuntime: at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:196) E/AndroidRuntime: at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4204) E/AndroidRuntime: at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4161) E/AndroidRuntime: at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:657) E/AndroidRuntime: at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:628) E/AndroidRuntime: at com.example.admin.amazons3download.DownloadSelectionActivity$GetFileListTask.doInBackground(DownloadSelectionActivity.java:129) E/AndroidRuntime: at com.example.admin.amazons3download.DownloadSelectionActivity$GetFileListTask.doInBackground(DownloadSelectionActivity.java:113) E/AndroidRuntime: at android.os.AsyncTask$2.call(AsyncTask.java:287) E/AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:234) E/AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) E/AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) E/AndroidRuntime: at java.lang.Thread.run(Thread.java:856)
答案 0 :(得分:0)
你必须在gradle中包含以下库
compile 'com.amazonaws:aws-android-sdk-core:2.2.13'
compile 'com.amazonaws:aws-android-sdk-s3:2.2.13'
在创建存储桶并使用该信息下载或上传文件时获取池ID和存储桶名称。如需更多使用链接https://www.numetriclabz.com/integrate-amazon-s3-to-android-tutorial/
它会帮助你。