поэтому у меня есть Aurora Serverless DB в Amazon RDS. Я хотел бы использовать это в GraphQL и настроить соединения между определенными типами. Т.е. у пользователя может быть список подписчиков, который используется с типом UserFollowerConnection. То, что я хотел бы сделать, это разбить на страницы и извлекать, возможно, только 10 элементов за раз, и следить за nextToken. Мне удалось сделать это успешно с таблицами DynamoDB, но я пытаюсь повторить ту же реализацию с RDS.
Моя схема выглядит примерно так:
type User {
userId: String!
userName: String!
fullName: String!
displayName: String!
email: String!
followers(limit: Int, nextToken: String): UserFollowerConnection
}
type UserFollower {
userId: String!
followerId: String!
dateFollowed: AWSDateTime!
}
type UserFollowerConnection {
items: [UserFollower]
nextToken: String
}
Моя текущая реализация распознавателя для DynamoDB выглядит примерно так:
{
"version" : "2017-02-28",
"operation" : "Query",
"query" : {
## Provide a query expression. **
"expression": "userId = :id",
"expressionValues" : {
":id": {
"S": "$ctx.source.userId"
}
}
},
"limit": #if($context.arguments.limit) $context.arguments.limit #else 10 #end,
"nextToken": #if($context.arguments.nextToken) "$context.arguments.nextToken" #else null #end
}
Каков наилучший способ реализации этого для AuroraServerless / MySQL? Буду ли я писать этот код в резольвере на AppSync, как показано в документации, или это должна быть лямбда-функция, подключенная к резольверу?