Запрос нескольких таблиц в базе данных Dynamo с использованием AWS Appsyn c и GraphQL - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь создать приложение ios, используя приложения Amazon Syn c, DynomiteDB и GraphQL. Я создал одну таблицу, в которую я могу отправлять вызовы API. Однако я создал новую таблицу в своей базе данных и написал запросы для нее в схеме Graphql. Однако, когда я делаю вызов для создания нового объекта в таблице, я получаю сообщение об ошибке: Ошибка сохранения элемента на сервере: [Невозможно принять роль arn: ... Мне интересно, возможно ли запросить две разные таблицы, которые не имеют явного отношения (IE. одна из таблиц содержит список объектов, содержащихся в другой таблице).

1 Ответ

1 голос
/ 10 апреля 2020

С помощью распознавателей модулей DynamoDB вы можете выполнять запросы к одной таблице (за исключением пакетных операций DynamoDB, но они зарезервированы для случаев массового использования) https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-dynamodb.html

С помощью распознавателей конвейера вы может запрашивать несколько таблиц, но вызовы являются последовательными (таблица запросов A, затем таблица запросов B и т. д.) и не могут быть динамическими c (вы не можете запросить таблицы A и l oop по результатам и для каждого пункт выдаст запрос к таблице B). Конвертеры конвейеров очень полезны для выполнения проверок, например, для выполнения аутентификационного вызова из таблицы A, а затем для запроса из таблицы B.

Если ваш вариант использования более сложный, я бы посоветовал использовать источник данных Lambda и выполнить DynamoDB звонки внутри Lambda, с дополнительным бонусом возможности использовать ваш любимый язык программирования.

...