尝试使用Amazon Mobile SDK for Android上载/下载文件时出错

尝试使用Amazon Mobile SDK for Android上载/下载文件时出错,android,amazon-web-services,amazon-s3,Android,Amazon Web Services,Amazon S3,我尝试使用Amazon Mobile SDK Android上传/下载文件。 我创建了我的bucket,在我设置的权限中,每个人都可以写和读。 在amazon Cognito中,我将所有内容都保留为默认值 我在尝试上载任何文件时遇到此错误 Process: com.example.jghg.awsamazon, PID: 2815 java.lang.RuntimeException: An error occured while executing doInBackground()

我尝试使用Amazon Mobile SDK Android上传/下载文件。 我创建了我的bucket,在我设置的权限中,每个人都可以写和读。 在amazon 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;
我有个问题,键是什么


谢谢大家

这是AWS访问密钥。您应该在Cognito为您创建的角色中向S3添加权限。这不是您的访问密钥。这里的Key基本上是指bucket名称后面的路径。因此,如果您在mybucket.s3.com/uploads/photos/file34543.jpg上有一个资源,“关键”是“uploads/photos/file34543.jpg”