【问题标题】:AWS Android SDK app for S3 Transfer Utility is raising exception while reading适用于 S3 Transfer Utility 的 AWS Android SDK 应用程序在读取时引发异常
【发布时间】:2017-12-23 18:55:47
【问题描述】:

我创建了一个 AWS S3 存储桶。我可以使用亚马逊提供的 TransferUtility SDK 应用程序 https://github.com/awslabs/aws-sdk-android-samples/blob/master/S3TransferUtilitySample/S3TransferUtilityTutorial.md 访问存储桶。

我对各个区域和存储桶名称的配置进行了一些更改,然后我能够连接到 S3。

我拥有读取/写入服务器管理员提供给我的 S3 存储桶的适当权限。我使用代码成功地将两个图像上传到 S3 存储桶。我现在可以看到 S3 中存在两个图像文件。

现在当我尝试下载这些文件时,我得到了

com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 04800521FBB752B0)

我有读写权限,但仍然出现此异常。它仅与许可有关还是我遗漏了一些东西。

提前致谢。

【问题讨论】:

    标签: android amazon-s3


    【解决方案1】:

    我认为还有其他下载权限。你需要设置谁可以下载这个文件——只读是不够的。右键单击您的 S3 存储桶中的文件并检查权限部分 - 您会在那里看到它。

    【讨论】:

    • 感谢 marky smarky 花时间回答问题。我们更改了 cognito pool id ,然后一切正常。
    【解决方案2】:

    以前的 conginto 池 id 有问题,我认为它有一些权限问题。

    我们更改了 cognito 池 ID,然后它正常工作。

    【讨论】:

      【解决方案3】:

      当请求不存在的密钥并且不允许请求者列出存储桶的内容时,Amazon S3 将返回 AccessDenied 错误。

      使用 AWS 开发工具包获取请求 ID

      以下部分包含有关使用 AWS 开发工具包配置日志记录的信息。虽然您可以对每个请求和响应启用详细日志记录,但不应在生产系统中启用日志记录,因为大型请求/响应会导致应用程序显着变慢。

      疑难解答

      1) 首先查看我的角色,你的权限,去IAM查看API使用的用户[Access Key & Secret Key]是否有使用S3 Based API的权限。

      2 验证您的访问密钥是否仍然可以访问 S3 资源和该存储桶。

      3) 通过使用 AWS CL 尝试相同的操作来验证这一点。

      4) 使用 AWS iam get-user 命令显示当前用户,如果是不同的用户会出现此错误。

      { "User": { "UserName": "MY_DEFAULT_USER_NAME", "PasswordLastUsed": "2017-03-15T01:59:05Z", "CreateDate": "2016-04-30T02:46:19Z", "UserId": "ABCDEFGHIJKLMNOPQ", "Path": "/", "Arn": "arn:aws:iam::123456789:user/MY_DEFAULT_USER_NAME" } } 
      

      5) 检查您的环境变量可能是我的环境变量中的 AWS 键不同。

      6) 对于 AWS 开发工具包故障排除请求,请求 ID 对将类似于以下示例。

      status Code: 403, AWS Service: Amazon S3, AWS Request ID: 79104EXAMPLEB723  
      AWS Error Code: AccessDenied  AWS Error Message: Access Denied  
      S3 Extended Request ID: IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km
      

      7) 检查代码中的终点是否正确,应该有正确的终点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-06-11
        • 2014-07-16
        • 2017-07-04
        • 2014-09-07
        • 2016-12-22
        • 2014-09-14
        • 1970-01-01
        相关资源
        最近更新 更多