reactjs - 由于 MQTT 错误,AWS App Sync 订阅不起作用

标签 reactjs amazon-web-services graphql mqtt aws-appsync

我在我的 react 应用程序上调用这个 graphql 订阅:

export const OnCreateMessage = `
  subscription OnCreateMessage($conversationId: ID!) {
    onCreateMessage(messageConversationId: $conversationId) {
      id
      content
      authorId
      messageConversationId
      createdAt
    }
  }
`
这就是我在类组件中调用它的方式:
API.graphql(
    graphqlOperation(subscriptions.OnCreateMessage, {conversationId: "c074c7b7-f6db-459a-a1d8-cd290aee33ea"})
  ).subscribe({
    next: ({ provider, value }) => console.log({provider, value}),
    error: error => console.warn("did not get messages")
});
但是,当我运行我的应用程序并调用它时,我的网络选项卡上出现此错误:
{
  "errors" : [ {
    "errorType" : "BadRequestException",
    "message" : "Subscriptions over MQTT is not supported."
  } ]
}
我在 AWS 文档中看到“MQTT over WebSockets 将不再可用于新的 AppSync API”,但我现在不知道该怎么做。
有人可以调查一下并帮助我吗?

最佳答案

我不确定您是否找到了答案,但我们在一个项目中面临着同样的问题,它要求您使用可以通过纯 WebSocket 处理订阅的 GraphQL 客户端。查看 this question 的答案关于使用 AWS AppSync 客户端。

关于reactjs - 由于 MQTT 错误,AWS App Sync 订阅不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66935653/

相关文章:

javascript - 如何创建基本客户端以通过 websockets 使用 GraphQL 订阅

javascript - 如何将本地自定义字体应用于 Stripe Elements?

javascript - 将数据推送到我的 Redux 状态

amazon-web-services - AWS S3 公开添加的任何新文件

amazon-web-services - AWS CLI 按特定日期列出对象

GraphQL 服务器中的授权

javascript - 无法更新组件 (`App` ) 组件中出现错误

css - react-select:覆盖默认样式并删除可清除的 'x' 图标

hadoop - Hadoop超时尝试在AWS多区域配置中写入Cassandra

typescript - 如何从 GraphQL 模式生成 GraphQL 操作