我们正在使用Unity开发移动游戏,我们将使用AWS服务存储所有用户数据和游戏内容。
我们已经构建了所有集成并存档以与AWS SDK集成以实现统一,DynamoDB和S3正在按预期工作,但我们在使用CognitoStore时遇到了一些问题。
当我们调用_ds.Synchronize()或_syncManager.RefreshDatasetMetadataAsync()时,我们得到403 Forbidden Error。
WebException:403 Forbidden Rethrow as AmazonServiceException:403 Forbidden Rethrow as DataStorageException:无法列出记录 数据集:帐户
简化政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"mobileanalytics:PutEvents",
"cognito-sync:*"
],
"Resource": [
"*"
]
}
]
}
完整政策:http://goo.gl/dcUkPC
代码:
try {
CognitoSyncClientManager.init();
_syncManager = CognitoSyncClientManager.CognitoSyncManagerInstance;
} catch (Exception ex) {
Debug.LogException (ex);
return;
}
_dsAccount = _syncManager.OpenOrCreateDataset ("Account");
_dsAccount.Put ("test", "1");
_dsAccount.Synchronize ();
不确定我们是否遗漏了任何内容,但我花了3天时间搜索并尝试解决此问题。如果你们中的任何人都能帮忙解决这个问题,我将感激不尽。
你们中有谁知道如何解决这个问题?
注意:我们在Unity 3D示例项目中遇到了同样的问题。
更新12/02/15 将SDK更新为1.0.1,但我收到错误400 Bad request。仍在努力使其发挥作用。
谢谢!
答案 0 :(得分:0)
刚刚对使用Windows 7的虚拟机进行了测试,相同的项目/设置并且有效。
我在我的Mac上重复测试,但它确实有效。
不确定是不是问题,但是在Windows中打开相同的项目,而在Mac上再次使用v1.0.1 aws开启了Unity SDK。也许是团结缓存或类似问题。但它正在发挥作用。
谢谢!