Я пытаюсь подписаться на мутации в таблице DynamoDB в AWS AppSync.Схема вкратце выглядит следующим образом:
type Post {
id: ID!
userId: String!
title: String
body: String!
}
input UpdatePostInput {
id: ID!
title: String
body: String
}
type Mutation {
updatePost(input: UpdatePostInput!): Post
}
type Subscription {
onUpdatePost(id: ID!): Post
@aws_subscribe(mutations: ["updatePost"])
}
Учитывая идентификатор сообщения, когда я хочу получить изменения в теле этого сообщения, я попытался использовать эту подписку выше как:
subscription OnUpdatePost {
onUpdatePost(id: "some-id") {
id
body ## This line should make the trick, but it does not
}
}
Подписка сработала - что нормально.Тем не менее, результат содержит только ID
и __typename
, а НЕ body
:
{
"data": {
"onUpdatePost": {
"id": "some-id",
"__typename": "Post"
}
}
}
Наличие body
среди полей должно быть достаточно, следуя руководству здесь .
Я что-то упустил при этой настройке подписки?
Примечание:
- Работает
mutation
то есть тело может быть обновлено в таблице за кулисами. - Я не прикрепил распознаватель к записи подписки, но есть один для мутации.Так и должно быть, афаик.