我一直试图在iOS上使用AWS 2天。我从这里下载了示例项目:https://github.com/awslabs/aws-sdk-ios-samples亚马逊网络服务SDK iOS
我完全按照步骤说的那样使用cocoapods链接所有库。
我还创建了一个水桶,再按照如何获得ID,以便在代码中改变它的步骤如下所示:
AWSCognitoCredentialsProvider *credentialsProvider = [AWSCognitoCredentialsProvider
credentialsWithRegionType:AWSRegionUSEast1
accountId:AWSAccountID
identityPoolId:CognitoPoolID
unauthRoleArn:CognitoRoleUnauth
authRoleArn:nil];
所以基本上,当我试着上传一些图片/文件(在使用亚马逊S3的存储服务的例子中,我得到一个错误:
2014-09-04 15:11:57.475 S3TransferManagerSample[5437:400b] AWSiOSSDKv2 [Error] AWSCredentialsProvider.m
line:356 | __40-[AWSCognitoCredentialsProvider refresh]_block_invoke299 | Unable to refresh.
Error is [Error Domain=com.amazonaws.AWSSTSErrorDomain Code=0 "The operation couldn’t be completed. (com.amazonaws.AWSSTSErrorDomain error 0.)"
UserInfo=0x14d17770 {Type=Sender, Message=Not authorized to perform sts:AssumeRoleWithWebIdentity, __text=(
"\n ",
"\n ",
"\n ",
"\n "
), Code=AccessDenied}]
只是要清楚,我已经创建了一个角色,并给它一个政策:AdministratorAccess和所使用的角色ARN设置
unauthRoleArn:CognitoRoleUnauth
我读过文档,似乎无法在任何地方找到问题。我有一种感觉,它与这个角色的角色和政策有关。
我真的很感激有关如何开始或如何解决此问题的任何提示。
谢谢,如果您需要关于该问题的更多细节,请随时发表评论,我会给予更多,因为问题有点冗长。
当我创建角色时,我只将该角色的权限更改为Administrator Access,但我没有更改任何其他内容。 我应该改变角色的信任关系吗?我真的不知道该怎么设置。 – RJiryes 2014-09-07 06:30:55
另外,如果它是“为了这个身份池”,你是什么意思?我创建了身份池作为Cognito服务的一部分,而角色则在IAM管理控制台中设置。我已经阅读了关于AWS的很多内容,我觉得我有点困惑。对不起,如果我看起来有点不清楚。谢谢。 – RJiryes 2014-09-07 07:49:31
我继续前进并删除了当前的身份库并创建了新的身份库,但我得到的错误消失了。但现在它没有上传文件,我在尝试上传时遇到了另一个错误: – RJiryes 2014-09-07 10:50:36