amazon-web-services - AWS AppSync - 订阅突变未返回所需字段
问题描述
我尝试订阅 AWS AppSync 中 DynamoDB 表中的突变。架构简要如下所示:
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"])
}
鉴于帖子的 ID,当我想获取该帖子正文中的更改时,我尝试使用上面的订阅:
subscription OnUpdatePost {
onUpdatePost(id: "some-id") {
id
body ## This line should make the trick, but it does not
}
}
订阅被触发 - 这很好。但是,结果仅包含ID
and __typename
,而不包含body
:
{
"data": {
"onUpdatePost": {
"id": "some-id",
"__typename": "Post"
}
}
}
按照这里的指南,在body
这些领域中应该就足够了。
我是否缺少此订阅设置的某些内容?
笔记:
- 作品ie body可以在
mutation
后台更新表格。 - 我没有将解析器附加到订阅条目,但有一个用于突变。应该是这样的。
解决方案
AWS AppSync 中的订阅作为对突变的响应被调用。订阅由突变触发,突变选择集发送给订阅者。
我怀疑您没有返回body
您的updatePost
突变选择集中。添加该字段,订阅将包含body
例如
mutation {
updatePost(input: { id: "some-id" }) {
id
body
}
}
推荐阅读
- html - 将黑白视频转换为白色和 1 色
- python - 对于具有 DatetimeIndex 的 DataFrame,如何添加一个新列,它是重新采样的 DatetimeIndex 的聚合?
- css - 是否可以让本地类继承从文件导入的所有类?
- postgresql - 使用“pg_basebackup”实用程序进行备份时收到错误
- windows - Windows 批处理脚本打开文件选择器对话框或将文件拖放到其中
- javascript - 如果检查 CSS 属性的语句不起作用
- c# - 字节数组作为自定义 HTTP 标头编码?
- java - 访问另一个框架的权限
- angular - Karma 抱怨组件中缺少provider,但是provider没有直接注入到组件中
- mariadb - 如何在 RHEL 服务器上干净安全地卸载 mysql 客户端?