Создание типа подключения в AWS AppSync для извлечения данных из Aurora Serverless - PullRequest
1 голос
/ 08 июня 2019

поэтому у меня есть 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, как показано в документации, или это должна быть лямбда-функция, подключенная к резольверу?

...