我的问题类似于一个here。我使用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
但是,我不认为这三行是完整的代码,并且我也找不到任何文档。如果有人知道,可以请您发布一些文档/示例代码吗?谢谢。
答案 0 :(得分:0)
您可以使用新的AWSMobileClient自动执行Auth例程,然后将其传递给AppSync client constructor per the docs:
let appSyncConfig = try AWSAppSyncClientConfiguration(appSyncClientInfo: AWSAppSyncClientInfo(),
credentialsProvider: AWSMobileClient.sharedInstance(), databaseURL: databaseURL)
appSyncClient = try AWSAppSyncClient(appSyncConfig: appSyncConfig)
认知角色将需要适当的IAM policy for AppSync outlined here。