尝试使用适用于Android的Amazon Mobile SDK上传/下载文件时出错

时间:2015-01-11 15:37:10

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

我尝试使用Amazon Mobile SDK Android上传/下载文件。 我创建了我的存储桶,在我设置的权限中,每个人都可以写和读。 在亚马逊Cognito中,我只是将所有内容都保留为默认值。

尝试上传任何文件时出现此错误...

 Process: com.example.jghg.awsamazon, PID: 2815
java.lang.RuntimeException: An error occured while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:300)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
        at java.util.concurrent.FutureTask.run(FutureTask.java:242)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:818)
 Caused by: com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden (Service: Amazon S3; Status Code: 403; Error Code: null; Request ID: BC4D4A7771B45D79), S3 Extended Request ID: 45vc24DJDdMjNK11V+dYx103RwFxYPJO9AU4MYa4q3dzfH6R2Vh5iVuViBWv8TDZ
        at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(Unknown Source)
        at com.amazonaws.http.AmazonHttpClient.executeHelper(Unknown Source)
        at com.amazonaws.http.AmazonHttpClient.execute(Unknown Source)
        at com.amazonaws.services.s3.AmazonS3Client.invoke(Unknown Source)
        at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(Unknown Source)
        at com.amazonaws.mobileconnectors.s3.transfermanager.TransferManager.doDownload(Unknown Source)
        at com.amazonaws.mobileconnectors.s3.transfermanager.TransferManager.download(Unknown Source)
        at com.amazonaws.mobileconnectors.s3.transfermanager.TransferManager.download(Unknown Source)
        at com.example.jghg.awsamazon.ConnecToAWS.doInBackground(ConnecToAWS.java:67)
        at com.example.jghg.awsamazon.ConnecToAWS.doInBackground(ConnecToAWS.java:20)
        at android.os.AsyncTask$2.call(AsyncTask.java:288)

这是我的代码。

 @Override
protected Void doInBackground(Void... params) {

    cognitoProvider = new CognitoCachingCredentialsProvider(
            context, 
            "15743803132",
            "us-east-1:9a873c64-a61b-4871-ab3c-57d77e3be02",
            "arn:aws:iam::157438031324:role/Cognito_AndroidTestUnauth_DefaultRole",
            "arn:aws:iam::157438031324:role/Cognito_AndroidTestAuth_DefaultRole",
            Regions.US_EAST_1
    );


    CognitoSyncManager syncClient = new CognitoSyncManager(
            context,
            "us-east-1:6a873c64-a61b-4871-ab3c-57d77e3be024",
            Regions.US_EAST_1,
            cognitoProvider);

    TransferManager transferManager = new TransferManager(cognitoProvider);

    Log.e(LOG_TAG,"Data " + cognitoProvider.getIdentityId());


    File file = new File(Environment.getExternalStorageDirectory()
            +File.separator
            +"myDirectory" //folder name
            +File.separator
            +"myFile");

    Download download = transferManager.download(BUCKET_NAME, key, file);


    return null;

我有一个问题是什么是

谢谢大家。

0 个答案:

没有答案