Борьба с простым AWS AppSync Batch Resolver - PullRequest
0 голосов
/ 19 декабря 2018

Я новичок в AppSync, и у меня возникли небольшие проблемы, когда я оборачиваюсь вокруг решателей VTL.Я пытаюсь заставить работать то, что должно быть довольно простой функцией распознавания.Функциональность, которую я пытаюсь заставить работать - это избранное пользователя.В моем приложении пользователи могут создавать сообщения, а другие пользователи могут добавлять / сохранять сообщения.Я хочу, чтобы пользователь мог просматривать все сохраненные сообщения.

Соответствующая схема AppSync выглядит следующим образом:

type User {
id: ID!
...other fields
favorites: [Post!]
}



type Post{
    id: ID!
    title: String!
    description: String!
    owner: ID!
}

В таблице DynamoDB с именем UserTable Iесть столбец с именем избранное, который имеет тип StringSet.Элементы в этом наборе являются идентификаторами (которые также являются первичными ключами) сообщений, найденных в PostTable.

Пример списка избранного выглядит следующим образом:

favorites[ "021612bf-61ed-418f-a913-3dc0e63ca952", "0687c0e8-5f87-4315-b383-908dab0e258f" ]

Я пытаюсь прикрепитьпреобразователь в поле

favorites: [Post!]

в поле Тип пользователя.Я получил запрос на возврат одного сообщения с этим преобразователем, но столбец избранного в пользовательской таблице представлял собой одну строку, а НЕ список.

{
    "version" : "2017-02-28",
    "operation" : "Scan",
    "filter" : {
        "expression" : "id = :id",
        "expressionValues" : {
            ":id" : { "S" : "$ctx.source.favorites" }
        }
    }
}
...