我下载了亚马逊的样本:CognitoSyncDemo https://github.com/awslabs/aws-sdk-android-samples/tree/master/CognitoSyncDemo并试图以未经身份验证的模式运行它 . 我按照亚马逊的指南:创建了AWS账户;在Cognito中创建了身份池;在IAM中添加了角色 .
但是当我运行示例应用程序时,将一些数据填充到数据集中并尝试同步它们,它会弹出: Failed due to Failed to list records in dataset: XXX(XXX is my dataset name).
我为unauthenticate创建的角色策略如下:
{
"Version": "2012-10-17",
"Statement": [{
"Action": [
"mobileanalytics:PutEvents",
"cognito-sync:*",
"sns:*"
],
"Effect": "Allow",
"Resource": [
"*"
]
}]
}
我不确定这是角色的问题 .
当你运行亚马逊提供的CognitoSyncDemo时,有没有人遇到过这样的问题?
1 回答
角色政策看起来很健全 . 您提供的详细信息不足以查看导致问题的其他原因,因此这是您应该验证的事项列表:
在Cognito Console中的身份池中,转到"Edit Identity Pool"并确保选中"Enable Access to unauthenticated Identities" .
确保AWS控制台中的区域(US-East或EU-West)与应用程序代码中设置的区域相匹配 .
确保您输入了正确的角色ARN 's in the app' s来源,以及身份池ID和您的AWS账户 .