Когда мы запрашиваем запрос GraphQL, например,
query GetPost {
singlePost(id: 123) {
id
title
}
}
, и мы настроили преобразователь лямбда-выражений в AWS AppSync, шаблон сопоставления запросов
{
"version" : "2017-02-28",
"operation" : "Invoke",
"payload": {
"resolve": "singlePost",
"query": $utils.toJson($context.arguments)
}
}
позволяет намопределить объект события, передаваемый в лямбда-обработчик.
В приведенном выше примере наш лямбда-обработчик будет вызываться с событием event
, в котором event.payload.query.id == 123
или тому подобное.
Согласно1013 * документы объект $context
содержит,
{
"arguments" : { ... },
"source" : { ... },
"result" : { ... },
"identity" : { ... },
"request" : { ... }
}
{code}
При этом в документации не упоминается, где я могу получить доступ к запрашиваемым полямзапроса GraphQL .
Для первого примера эти поля будут соответствовать ["id", "title"]
.
В случае, если мне нужно разрешить некоторые вложенные свойства, например массив теговобъекта с помощью дорогостоящей операции, например, SQL-соединения, было бы полезно, если бы я мог проверить, действительно ли запрашивается вложенное свойство.
Этот вопрос относится к Как получить запрошенные поля внутри GraphQLРесоlver? , однако он отличается от реализации GraphQL graphql-tools
против AppSync.