reactjs - 由于 MQTT 错误,AWS App Sync 订阅不起作用
问题描述
我在我的反应应用程序上调用这个 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”,但我不知道现在该做什么。
有人可以调查一下并帮助我吗?
解决方案
我不确定您是否找到了答案,但我们在一个项目中面临同样的问题,它要求您使用可以通过纯 WebSockets 处理订阅的 GraphQL 客户端。请参阅有关使用 AWS AppSync 客户端的问题的答案。
推荐阅读
- javascript - 不活动时如何删除css样式
- android - 将我的 Bmi 结果添加到 firebase 数据
- spring-boot - 类 java.time.LocalDateTime 不能转换为类 java.lang.String
- javascript - 如何避免在循环中等待
- c - 是否可以使用“&”符号代替指针?
- php - 如何在数据库表的同一行中添加创建后复制 $URL 的功能
- mysql - 使用 LAST_DAY 函数的条件 MySQL 查询
- javascript - React Component 在调用函数时使用第一个元素 props 而不是他自己的
- javascript - 如何优雅地在键/值对中传递 URI 参数
- asp.net - Ajax 两次调用 ASP.NET MVC 控制器操作,但仅在第一次 Ajax 调用时