Вы можете присоединить None DataSource к мутации и отправить информацию, необходимую для запуска подписки, в аргументах мутации.
Например, предположим, у вас есть следующая схема
type Book {
bookId: Int
}
input BookInput {
bookId: Int
}
type mutation {
triggerBookUpdate(input: BookInput!): Book
}
type subscription {
onBookUpdate(bookId: Int!): Book
@aws_subscribe(mutations: ["triggerBookUpdate"])
}
, затем вы присоединяете None DataSource к преобразователю для поля TriggerBookUpdate и предоставляете следующий шаблон сопоставления запросов
#**
Resolvers with None data sources can locally publish events that fire
subscriptions or otherwise transform data without hitting a backend data source.
The value of 'payload' is forwarded to $ctx.result in the response mapping template.
*#
{
"version": "2017-02-28",
"payload": $utils.toJson($context.arguments.input)
}
и шаблон сопоставления ответов
$util.toJson($ctx.result)
для получения дополнительной информации. Документация