Решатель AppSync DynamoDB для фильтрации сценариев использования

Я работаю над приложением, которое позволяет пользователям загружать ресурсы в Интернет.

Я борюсь с тем, как написать преобразователь для извлечения ресурсов, отправленных конкретным пользователем.

У меня 3 таблицы DynamoDB

  • UserTable -> коллекция для пользователя
  • PostTable -> сборник для ресурсов
  • PostUserTable -> коллекция для хранения отношений между пользователем и публикацией

В традиционной RDBS это можно сделать путем объединения двух таблиц (UserTable и PostTable) с помощью PostUserTable. Несмотря на то, что DynamoDB или любые типы баз данных NoSQL позволяют нам иметь более гибкий способ хранения данных, я ожидаю (надеюсь), что у каждого пользователя будет много ресурсов в конце дня, поэтому я решил разрабатывать таблицы таким же образом, как и RDMS.

Но я не уверен, как можно написать резолвер для фильтрации сообщений только по конкретному пользователю? У меня есть запрос graphql с именем getMyPosts, и я хочу, чтобы он возвращал сообщения, загруженные мной.


person Dave    schedule 06.09.2018    source источник


Ответы (1)


Если вы перейдете в консоль AppSync и нажмете «Присоединить» в поле, чтобы добавить преобразователь, в правом верхнем углу каждого редактора кода шаблона преобразователя появится раскрывающийся список, в котором есть несколько примеров с комментариями о том, как создавать шаблоны преобразователя для DynamoDB. . Это хорошее место для начала, здесь есть несколько примеров фильтров и многое другое. Подробнее о полном синтаксисе фильтра DynamoDB можно прочитать здесь: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.FilterExpression.

person mparis    schedule 07.09.2018