Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 由于MQTT错误,AWS应用程序同步订阅无法工作_Reactjs_Amazon Web Services_Graphql_Mqtt_Aws Appsync - Fatal编程技术网

Reactjs 由于MQTT错误,AWS应用程序同步订阅无法工作

Reactjs 由于MQTT错误,AWS应用程序同步订阅无法工作,reactjs,amazon-web-services,graphql,mqtt,aws-appsync,Reactjs,Amazon Web Services,Graphql,Mqtt,Aws Appsync,我正在我的react应用程序上调用此graphql订阅: export const OnCreateMessage = ` subscription OnCreateMessage($conversationId: ID!) { onCreateMessage(messageConversationId: $conversationId) { id content authorId messageConversationId

我正在我的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文档中看到“WebSocket上的MQTT将不再适用于新的AppSync API”,但我不知道现在该怎么办


有人能帮我解决这个问题吗?

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

我们目前也遇到了此问题。MQTT已在所有新API以及新区域()上被弃用。只希望AWS有更好的库支持!我猜想您正在使用aws appsync()包中的AWSAppSyncClient()?如果是,您使用的软件包版本是什么?我建议更新到最新版本,因为您可能已经过时。