А) Измените ваш запрос
query {
getProjet(id: "123") {
id
members(limit: 50) {
items {
firstname
}
}
}
B) Прикрепите резольвер
В консоли AWS AppSync в правой части раздела Схема. Чтобы отфильтровать по UserConnection
или подобному, найдите UserConnection.items и нажмите Attach
.
1) Источник данных: UserTable0
2) Запрос шаблона сопоставления: ListItems
{
"version" : "2017-02-28",
"operation" : "Scan",
"limit": $util.defaultIfNull(${ctx.args.limit}, 50),
"nextToken": $util.toJson($util.defaultIfNullOrBlank($ctx.args.nextToken, null))
}
Использовать лимит, приходящий в качестве аргумента ctx.args.limit
или, если его значение пусто, 50
.
3) Шаблон отображения ответов
$util.toJson($ctx.result.items)
Делая это, вы можете изменить способ сканирования / извлечения базовой таблицы.
C) Пагинат
Другим решением будет разбиение на страницы на уровне приложения и ограничение в 10 пунктов.
Примечание. Возможно, мне не хватает других решений.
Обновление: использовать это решение вместе с Amplify Console.
Теперь вы можете обновлять свои средства распознавания локально и использовать CLI Amplify, чтобы загружать обновления в свою учетную запись. Вот как это работает.
После создания вашего AWS AppSync API у вас будет новая пустая папка с именем resolvers, созданная в вашем проекте Amplify в папке API. Чтобы создать собственный распознаватель, создайте файл (т.е.
Query.getTodo.req.vtl ) в каталоге resolvers вашего проекта API. В следующий раз, когда вы запустите ampify push или ampify api gql-compile, вместо автоматически созданного шаблона будет использоваться ваш шаблон резолвера. Вы также можете создать файл Query.getTodo.res.vtl , чтобы изменить поведение шаблона сопоставления ответов распознавателя.
<amplify-app>
|_ amplify
|_ .config
|_ #current-cloud-backend
|_ backend
|_ api
|_ resolvers
Query.getProject.req.vtl
Query.getProject.res.vtl
team-provider-info.json
Подробнее, 11 февраля 2019