AWS AppSync API с пользовательским атрибутом Cognito не работает - PullRequest
0 голосов
/ 27 сентября 2018

Я часами пытаюсь решить проблему ниже.Любая помощь приветствуется.Я использую 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 ....

Кто-нибудь сталкивался с такой же проблемой?Любая подсказка о том, как решить эту проблему?

...