问题标签 [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 投票
2 回答
1811 浏览

javascript - ReactJS:TypeError:无法添加/删除密封数组元素

我正在尝试使用使用库制作的 API 并在 GraphQL 订阅的帮助下实时Apollo GraphQL更新组件。对于删除操作,我收到错误。这是来自试图从订阅更新数据的反应组件的代码。reactsubscriptions-transport-wsTypeError: Cannot add/remove sealed array elements

0 投票
1 回答
4225 浏览

amazon-web-services - AWS AppSync 授权

我计划使用 AWS Appsync 在 lambda 函数中迁移 graphQL 端点,该函数由 POST 通过 API Gateway 触发。我正在研究 AppSync 主要是因为我无法使用 Lambda 函数创建的订阅。

我的身份验证机制基于 Auth0,使用无密码,而我的授权机制基于 DynamoDB 中多个表的数据,并且它嵌入在 graphQL 解析器中,正如 Facebook 和 Apollo 所推荐的那样。

更重要的是,它基于请求的每个部分,包括检查调用查询/突变的权限,然后,查询中包含的不同实体,因为正在触发适当的解析器。

据我所知,这在 AWS AppSync 中远非可行,因为它使用 Cognito 强制执行。也许某种自定义授权器,如 API Gateway 中的可以完成这项工作,但仍然不确定,因为它需要在 graphQL 请求解析期间执行多次(请记住,除了初始操作检查之外,每个嵌套对象一个)。

也许我可以使用通知来解决订阅问题并刷新查询,但我也必须对此进行研究。

其他人也有这个问题吗?你打算怎么解决,或者已经解决了?

任何帮助都感激不尽

卡洛斯

0 投票
1 回答
55 浏览

graphql - 我如何知道所有客户订阅了我的 graphql 数据?

我需要知道所有客户在我的订阅服务器中观看什么类型的数据。我怎样才能做到这一点?

0 投票
1 回答
589 浏览

angular - 每次更改多次触发 QraphQl 订阅解析器

使用 GraphQl 订阅我正面临一个奇怪的问题。出于实时更新的目的,我在服务器 (NodeJs) 上使用 MongoDB Change Stream功能并为前端 (Angular) 使用 GraphQl 订阅。因此,当数据库中出现一些更改时,它会通过 GraphQl 订阅发送到客户端。在 Angular 组件上,有 GraphQl 订阅实现(使用Apollo 客户端):

但是当我们进入这个组件n次时,在数据库中的一次更改中,我们会收到这n次来自订阅的数据。据我了解,当我们进入组件时,客户端已经建立了新的 WebSocket 连接: Chrome 开发人员工具的“网络”选项卡 作为 GraphQL 订阅的传输,我使用subscriptions-transport-ws包。

因此,数据库上的一个更改会触发多个 QraphQl 订阅解析器,因此在客户端我们会收到有关更改的重复通知。无论用户进入组件多少次,如何解决此行为并每次订阅只接收一个数据?

先感谢您!

0 投票
3 回答
2773 浏览

graphql - Spring boot graphql-java 和订阅

以下示例https://github.com/graphql-java/graphql-java-subscription-example使用 graphql-java 通过 websocket 进行订阅。

在春季版本中如何实现相同的想法?GraphQLSubscriptionResolver 需要返回发布者,但我无法弄清楚如何将其与 Web 套接字一起使用。

上面的示例在非弹簧版本中似乎很好。

0 投票
1 回答
718 浏览

node.js - Apollo-graphql:使用 withFilter

你能解释一下传递给函数的变量参数的来源吗?此处withFilter提供的示例并未对其进行解释。

Apayloadpublish被调用时提供,但是variables......

我们从哪里得到它们?如果需要设置它们,那么我们该如何实现呢?

0 投票
1 回答
247 浏览

neo4j - 连接到 neo4j-graphql websocket 进行订阅?

我还没有找到有关如何连接到 websocket 以在neo4j-graphql安装了插件的 neo4j (3.3) 实例上启用 graphql 订阅的任何信息。

我也没有成功尝试过与螺栓端口(localhost:7687)相关的网址。

这可能吗?

如果没有,当使用模式委托到 neo4j 服务器时,是否可以在单独的、支持订阅的 graphql 服务器级别上找到解决方法?

0 投票
0 回答
79 浏览

google-compute-engine - 如何使用 subscriptions-transport-ws 设置 Google Compute Engine 以使用 websocket

我正在使用 300 美元信用的谷歌计算引擎,我已经成功部署了我的 API,突变、查询都在工作,但订阅似乎没有工作。我使用了 apollo 团队的“subscriptions-transport-ws”库,我的问题是;

  1. Google 300 美元的信用额度是否支持 websocket 或者我必须从 300 美元升级到 websocket 才能工作?

  2. 如果支持,我如何设置 VM 以支持使用来自 apollo 团队的这个库 subscriptions-transport-ws 的订阅

0 投票
0 回答
442 浏览

graphql-subscriptions - Graphql 订阅因 Redis 实现而失败

我有一个由两部分组成的应用程序:一个使用graphql-subscriptions的 React 前端和一个带有MQTT 代理(及其 Web 套接字处理程序)和一个订阅服务器的 Node.js 应用程序。 如此处所述,我没有使用默认PubSub实现(正在工作),而是尝试实现外部 PubSub 引擎,为此,我选择了graphql-redis-subscriptions。每当有消息到达服务器时,我都会收到以下错误:

我无法理解这里发生了什么。通过查看代码,这个断言似乎失败了,因为参数是 undefined。这是PubSub.js文件的配置,当需要发布某些内容时会导入:

然后,在另一个文件中,我只是导入import pubSub from '../../helpers/PubSub';并使用以下代码发布主题:

你能建议我做错什么吗?谢谢

0 投票
1 回答
1309 浏览

graphql - Apollo GraphQL 订阅响应不处理嵌套查询

我有以下运行良好的 GraphQL 订阅:

但以下发送“无法读取未定义的属性‘用户’”错误

Apollo GraphQL 订阅是否处理嵌套查询?

这是我的解析器代码: