Запрос мутации Graphql для таблицы DynamoDB, имеющей атрибут Custom Type - PullRequest
0 голосов
/ 16 сентября 2018

Нужна помощь в Graphql Appsync

Appsync Пользовательский тип:

type Employee {
        id: ID!
        name: String
        experiences: [Experiences]
        projects: [Projects]
}

Dynamo DB table Employee

Table: Employee
{
    id:’’,
    name:’’,
    experience:[
        {
            company:’’,
            from:’’,
            till:’’
        },
        {
            company:’’,
            from:’’,
            till:’’
        }
    ],
    projects:[

        {
            title:’’,
            date:’’

        },
        {
            title:’’,
            date:’’

         },
    ]

}

Нам нужно обновить опыт и проекты в 2 разных мутационных запросах, но обновление должно быть сделано в той же таблице динамодабов.Вот мои сомнения:

  • Нужно создать отдельную таблицу DynamodB для Projects & Experience.Как написать мутационные запросы для этой таблицы обновления Проекты и опыт в области диффузии?

1 Ответ

0 голосов
/ 17 сентября 2018

позвольте мне попытаться ответить на ваши вопросы:

Нам нужно обновить опыт и проекты в 2 разных мутационных запросах, но обновление должно быть выполнено в той же таблице DynamodB.

Вы можете создать один источник данных в AppSync и иметь 2 мутации, которые разрешают использование этого источника данных. Таким образом, ваши мутации принимают массив типов опыта или проекта, а ваш распознаватель позаботится о записи в этот источник данных DynamoDB.

Нужно создать отдельную таблицу DynamodB для Projects & Experience.

Это действительно зависит от вашего варианта использования. Наличие отдельных таблиц DynamoDB помогает вам выбирать связанные типы [1: N], используя вторичные индексы. Отдельные таблицы также помогают разбивать на страницы связанные типы вместо выборки всех зависимостей в одном вызове. Если в итоге вы используете одну таблицу для хранения данных о сотрудниках / проектах / опыте, обратитесь к разделу Типы списков и карт в преобразователе DynamoDB.

Как написать мутационные запросы для этой таблицы, обновляя Проекты и опыт в диффузии?

Как я уже говорил, вы бы просто определили 2 мутации в своей схеме, которые принимают список типов. В резольвере вы будете писать в соответствующие таблицы. См. следующую документацию по резолверам DynamoDB в AppSync.

Кроме того, вы также можете использовать DynamoDB Batch Resolver для записи данных в несколько таблиц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...