是否有人使用带有iOS SDK 2的亚马逊网络服务(AWS)。我知道根据亚马逊SDK团队,
iOS版AWS Mobile SDK的第2版已达到通用版(GA),不再处于开发者预览版。自2014年9月29日起,版本1已弃用,并将在2014年12月31日之前在我们的aws-sdk-ios-v1存储库中继续提供。如果您正在构建新的应用程序,我们建议您使用版本2。
因此,我正在尝试使用更新版本(2.0)的AWS iOS SDK升级该应用程序。根据[示例应用程序,它需要以下内容作为凭据进行身份验证,
NSString *const AWSAccountID = @"Your-AccountID";
NSString *const CognitoPoolID = @"Your-PoolID";
NSString *const CognitoRoleAuth = nil;
NSString *const CognitoRoleUnauth = @"Your-RoleUnauth";
我已经用控制台上可用的一些值填充了这个。但是,一直在获取以下日志,
2014-10-17 18:33:04.056 S3TransferManagerSample[5343:70b] __37-[SecondViewController downloadFiles]_block_invoke154 Error: [Error Domain=com.amazonaws.AWSSTSErrorDomain Code=0 "The operation couldn’t be completed. (com.amazonaws.AWSSTSErrorDomain error 0.)" UserInfo=0x7b028500 {Type=Sender, Message=Not authorized to perform sts:AssumeRoleWithWebIdentity, __text=(
"n ",
"n ",
"n ",
"n "
), Code=AccessDenied}]
在哪里可以正确地获得这些证书,没有适当的指导方针和文件可以获得这些证书。甚至在亚马逊Cognito控制台上没有任何正确的解释来获得这些信用卡。
以前有人这样做过吗,请引导我去做。
非常感谢
您需要创建一个Cognito标识池来获取该信息。
- 转到这里https://console.aws.amazon.com/cognito/home?region=us-东-1
- 单击"新建标识池"
- 完成向导的3个步骤以创建标识池
- 它将显示您需要更新常量的值
如果您已经创建了一个身份池,那么您应该能够从控制台获取身份池id和aws帐户id。帐户id在这里:https://console.aws.amazon.com/iam/home?#security_credential(不包括连字符),您可以通过单击此处创建的角色来获取您创建的角色的角色arns:https://console.aws.amazon.com/iam/home?#roles
此外,请务必遵循设置指南中的所有步骤:http://docs.aws.amazon.com/mobile/sdkforios/developerguide/setup.html
特别是这个:
将位于服务定义目录中的以下JSON文件拖放到项目中。
autoscaling-2011-01-01.json
cib-2014-06-30.json
css-2014-06-30.json
dynamodb-2012-08-10.json
ec2-2014-06-15.json
elasticloadbalancing-2012-06-01.json
email-2010-12-01.json
kinesis-2013-12-02.json
mobileanalytics-2014-06-30.json
monitoring-2010-08-01.json
s3-2006-03-01.json
sdb-2009-04-15.json
sns-2010-03-31.json
sqs-2012-11-05.json
sts-2011-06-15.json
如果不执行此步骤,您将收到神秘的错误消息。