问题标签 [graphql-subscriptions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
356 浏览

node.js - 使用 GraphQL 设置订阅问题

再会:

我正在尝试为订阅设置我的 graphql 服务器。这是我的 schema.js

但是,当我尝试运行订阅服务器时出现此错误:

0 投票
0 回答
807 浏览

graphql - aws-amplify [ts] 类型“{}”上不存在属性“订阅”。[2339]

我是aws amplify的新手。我已经使用 amplify 设置了一个应用程序,并且我有一个使用 GraphQl 返回记录的 API。我创建了一个订阅,应该在创建新博客条目时触发。正在创建条目。在文档https://aws-amplify.github.io/docs/js/api 中,代码示例表明我可以使用以下内容订阅突变。我不断收到一条错误消息,指出错误 TS2339:类型“{}”上不存在属性“订阅”。它来自客户的分配。我不确定它为什么这么说,我希望你能帮助我解决这个错误。

//GraphQl订阅

//带有异步方法的ngInit函数

0 投票
1 回答
1441 浏览

apache-kafka - 带有 Kafka(和 Spring Boot)的分布式系统中的 Graphql 订阅

我有以下情况:

  • 我有 5 个相同服务的实例,都在同一个 kafka 消费者组中。其中一个与客户端(graphql 订阅)有一个 websocket 连接。我使用graphql-java和 Spring Boot。
  • 打开该连接时,我会从 5 个实例中的任何一个实例中生成事件(定义了消息键,以便它们进入同一个分区并排序),并且我需要所有这些事件都由打开该连接的同一个实例使用。不是其他4个。
  • 即使分区分配对我有利,也可以随时进行重新分配,让我没有运气

我的实现是使用reactor-kafka,但我认为这只是一个实现细节。

我看到的选项是:

  • 每次使用新的组 id 开始侦听该主题,以便服务始终接收来自该主题的消息(但另一个组 id 中的 5 也是)
  • 为每个 websocket 连接创建一个新主题,因此只有生产者知道该主题(但主题 id 应该在 kafka 事件中发送,以便这些事件的生产者知道在哪里发布它们)
  • 如果我收到消息但我不是连接的人,请不要确认它。但这会使事情变得缓慢并且看起来很老套
  • 开始使用完全不同的东西,比如 Redis PubSub 来接收所有消费者的所有消息并检查连接。

我看到有一个node 的实现,但我不知道它是如何解决问题的。一个类似的问题解释了如何对订阅进行编程,但没有谈论这个分布式的东西。

最干净的方法是我建议的方法吗?卡夫卡有没有我没有看到的方法?还是我误解了一些东西?

0 投票
1 回答
2944 浏览

graphql - 如何在 graphql-playground 中更改 websocket url(订阅)

我想改变graphql中的graphql websocket端点,有人知道怎么做吗?

默认情况下,它会 ping

我需要将其更改为推送器 url

谢谢 :-)

0 投票
2 回答
335 浏览

graphql - Looking for code for a server side GraphQL subscription listener

I have been looking high and low for some code that will allow me to register to a GraphQL subscription on the server side and read messages, coming from the external subscription server on the server side. I can get my server-side subscription client to connect to the external subscription server, but I after get an initial null message upon connection like so

no messages get captured there after. Help, please? Here is my code,

If it turns out I've done something really dumb, please excuse me. Any help will be really appreciated.

PS: The subscription server is working fine when I subscribe and get messages using GraphQL Playground.

0 投票
1 回答
1441 浏览

flutter - 如何使用 Flutter 消费 graphql 订阅?

我正在使用flutter_graphql插件,它对于查询和突变工作正常,但我面临订阅问题。

以下是我尝试过的代码,但它只是打印加载甚至没有命中服务器。

我想使用订阅从服务器接收消息计数以向用户提供通知。

0 投票
1 回答
324 浏览

graphql - GraphQL:字段解析器未在订阅查询中触发?

我有一个订阅查询,MessageFolder_Subscription看起来像这样:

询问

这是它的架构:

架构

这是我做解析器的方式:

旋转变压器

当我改变相关项目时,MessageFolder_Subscriptionpubsub 会按预期触发查询。追溯,我可以看到它返回true

remoteUserData但是由于某种原因,字段解析器MessageFolder_Subscription永远不会触发。

我错过了什么?

0 投票
0 回答
301 浏览

node.js - 订阅不稳定。Prisma 以 GqlConnectionTerminate 错误终止

我刚刚在我的 API 中实现了使用 graphql-yoga 的订阅。我有一台具有以下配置的 prisma 服务器:

请注意,我限制了连接数,因为我正在连接到允许连接数有限的 Google Cloud SQL 实例。现在我有 4 个瑜伽应用程序连接到这台 prisma 服务器。问题是,有时订阅有效,有时会引发以下错误(在操场上):

当我检查 prisma 容器日志时,我发现:

我的 API 在 Nginx 代理后面:

我无法弄清楚问题出在哪里。任何线索或指导将不胜感激。提前致谢。

0 投票
0 回答
658 浏览

graphql - subscriptionsClient.subscribe 不是函数

在这种情况下,我只是尝试使用 graphql-subscriptions 运行虚拟订阅,然后将其集成到我的代码中。然而,即使是最小的例子。

我正在关注一个 scotch.io 示例,这是它的 git 链接 https://github.com/kimobrian/GraphQL-Express/tree/subscriptions

它在 graphiql 订阅时抛出错误

subscriptionsClient.subscribe 不是函数

注意:我什至没有从单独的客户端尝试它。我只想要一个具有包含查询、突变和订阅的架构的服务器,并且我希望能够在不同窗口的 graphiql 中运行它时看到订阅的实时魔力。

根据网上的一些建议,我什至将 subscription-transport-ws 版本从 0.9 降级为 0.8.3

我正在运行查询和突变,但订阅在 Graphiql 中引发了上述错误

服务器文件

包.json

架构

解析器

我希望它应该在 pubsub.publish 被点击时在订阅窗口中更新

0 投票
1 回答
1069 浏览

apollo - 图形 | 阿波罗客户端 | 如何更改现有订阅中的变量?

我已经设置了一个带有订阅的 Apollo 服务器和客户端。在基本设置中一切都按预期工作。我正在使用 Apollo Client 的订阅方法进行订阅。如下所示:

});

这有效,我可以看到我的 onData 回调触发事件。

问题 - 在我们的应用程序中,订阅过滤器是动态的,用户可以选择会影响过滤器的不同值。我浏览了文档和许多(许多)文章,但找不到更新过滤器或如何处理此用例的方法?

期望 - 一旦用户选择任何值并应用过滤器,我想在服务器上更新我的订阅以开始使用新的过滤器吗?