我的问题与这里的问题类似。我使用AWSMobileClient创建了注册/登录,这一部分运行良好。然而,当我尝试使用Cognito用户池标识查询AppSync时,我无法返回任何数据。我为标识池的已验证IAM角色分配了正确的策略。我认为问题可能是我需要实现一些代码片段,比如下面的代码片段:
let credentialsProvider = AWSCognitoCredentialsProvider(regionType:.USWest2,
identityPoolId:"us-west-2:d2545277-8214-4781-b516-2eb72d1bceba")
let configuration = AWSServiceConfiguration(region:.USWest2, credentialsProvider:credentialsProvider)
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration
然而,我不认为这三行是完整的代码,我也找不到任何关于这方面的文档。如果有人知道,你能发布一些文档/样本代码吗?谢谢
您可以使用新的AWSMobileClient来自动执行Auth例程,然后根据文档将其传递给AppSync客户端构造函数:
let appSyncConfig = try AWSAppSyncClientConfiguration(appSyncClientInfo: AWSAppSyncClientInfo(),
credentialsProvider: AWSMobileClient.sharedInstance(), databaseURL: databaseURL)
appSyncClient = try AWSAppSyncClient(appSyncConfig: appSyncConfig)
Cognito角色需要适用于此处概述的AppSync的IAM策略。