Я часами пытаюсь решить проблему ниже.Любая помощь приветствуется.Я использую AWS appsync graphql и простую схему
type Users {
familyId: String!
userId: String!
email: String
picture: String
givenName: String
familyName: String
...
}
type Query {
getFamily: [Users]
}
и мой преобразователь, который использует настраиваемые атрибуты cognito familyID
{
"version" : "2017-02-28",
"operation" : "Query",
"index" : "familyId-index",
"query" : {
"expression": "familyId = :Id",
"expressionValues" : {
":Id" : {
"S" : "${ctx.identity.claims.get("custom:familyId")}"
}
}
},
}
Это нормально работает в построителе запросов AWSappsync, также работает вреагировать на родную систему с помощью клиента appollo <Query/>
.
Это НЕ работает с использованием AWS appsync API API.graphql(graphqlOperation(getFamilyQuery))
, возвращая ошибку
"message": "Невозможно проанализировать документ JSON: 'Неожиданный символ ('c' (код 99)): ожидал, что запятая разделяет записи объекта [15:07:49] в [Source: (String) \ "
Замечание, если я заменю в своем преобразователе "S" : "${ctx.identity.claims.get("custom:familyId")}"
на "S" : "${ctx.identity.sub}"
или любое значение исправления, просто чтобы проверить вызов API, работает нормально ... поэтому моя конфигурация клиента API выглядит нормально (или я что-то пропустил?)
Кажется, что пользовательский атрибут недоступен при использовании aws-AmplifyМетод API запроса моей схемы graphql ....
Кто-нибудь сталкивался с такой же проблемой?Любая подсказка о том, как решить эту проблему?