如果更改不是通过 GraphQL 进行的,GraphQL 订阅会推送更改吗?
Posted
技术标签:
【中文标题】如果更改不是通过 GraphQL 进行的,GraphQL 订阅会推送更改吗?【英文标题】:Will GraphQL subscriptions push changes if the change is made not through GraphQL? 【发布时间】:2020-11-13 04:11:56 【问题描述】:如果我有一个类型:
type Todo
id: ID!
name: String!
desc: String!
以及创建和获取 Todo 对象列表的突变:createTodo
和 getListTodo
到目前为止一切都很好。
我注意到,订阅说:
onCreateTodo
, 仅作为 createTodo 的效果起作用。 如果我手动推送数据库中的记录,订阅不会推送新数据。
它应该是这样工作的吗? 我正在使用带有放大功能的 dynamodb 和 appsync。
【问题讨论】:
【参考方案1】:它应该是这样工作的吗?
是的,它应该是这样工作的。 但是您可以通过使用数据库的native subscription(称为流)来实现所需的功能。您应该能够向订阅者发出更改,尽管这需要一些工作才能完成
【讨论】:
我通过带有 lambda 的 graphql 客户端路由了所有突变。适用于我的用例。以上是关于如果更改不是通过 GraphQL 进行的,GraphQL 订阅会推送更改吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何创建基本客户端以通过 websockets 使用 GraphQL 订阅