S3 Transfer Manager 示例显示错误:不支持未经身份验证的访问

Posted

技术标签:

【中文标题】S3 Transfer Manager 示例显示错误:不支持未经身份验证的访问【英文标题】:S3 Transfer Manager sample shows error: Unauthenticated access is not supported 【发布时间】:2014-09-13 14:05:32 【问题描述】:

我正在尝试从以下 git repo 运行 AWS android 示例: https://github.com/awslabs/aws-sdk-android-samples

我收到以下错误消息:

不支持未经身份验证的访问。 (服务: AmazonCognitoIdentityService;状态码:400;错误代码: 未授权异常;请求编号: 75be66eb-11b6-11e4-85d9-9933082e5eb2)

我已经按照 git repo 中提到的步骤配置了 AWS 服务 网址:https://github.com/awslabs/aws-sdk-android-samples/blob/master/S3_TransferManager/README.md

我在库中包含了以下 jar:

aws-android-sdk-2.0.4-cognito.jar aws-android-sdk-2.0.4-core.jar aws-android-sdk-2.0.4-s3.jar

我还添加了AWS_ACCOUNT_IDCOGNITO_POOL_IDBUCKET_NAME。我曾是 不知道在哪里可以找到COGNITO_ROLE_UNAUTH 所以我把它留在 YOUR_COGNITO_UNAUTH_ROLE.

谁能告诉我我在这里做错了什么?

【问题讨论】:

【参考方案1】:

抱歉,您在使用示例时遇到了问题。我认为有两件事可以解决您的问题。

首先,您是否在 Congito 身份池中启用了未经身份验证的访问?您可以通过转到 Cognito 控制台、转到 Edit Identity Pool 并查看是否选中了 Enable access to Unauthenticated Identities 来进行检查。

其次,您需要设置COGNITO_ROLE_UNAUTH。为此,您首先需要转到 IAM 控制台并创建一个角色(如果您还没有角色)。然后,单击 IAM 控制台中的角色并单击 SummarySummary 标签下的第一件事应该是Role ARN。将YOUR_COGNITO_UNAUTH_ROLE 替换为在那里找到的值。

希望对您有所帮助,我会看看我们是否可以使文档更清晰。再次抱歉给您带来麻烦!

【讨论】:

以上是关于S3 Transfer Manager 示例显示错误:不支持未经身份验证的访问的主要内容,如果未能解决你的问题,请参考以下文章

到 Big Query Data Transfer Service 的 Adwords 报告的值与 Adwords Manager 不同

使用git clone命令报错:error: RPC failed; curl 18 transfer closed with outstanding read data remaining(示例代码

亚马逊 s3 与 AFAmazonS3Manager + AFNetworking

如何激活已过试用期的System Center 2012 Operations Manager

使用s3 java sdk 分片文件上传API 报‘SignatureDoesNotMatch’ 异常的定位及解决方案

Error0004:virt-manager打开报错