Javascript 将AWS Appsync订阅与节点JS和EJS一起使用时出现问题

Javascript 将AWS Appsync订阅与节点JS和EJS一起使用时出现问题,javascript,node.js,ejs,aws-appsync,Javascript,Node.js,Ejs,Aws Appsync,这是我在这里的第一个问题,我最近才开始编写NodeJS代码。现在我正在使用NodeJS和EJS作为我的应用程序的模板引擎。我的数据库是DynamoDB,我想通过使用AWS Appsync使其中一个表成为实时的。使用Appsync,我可以查询和修改表中的字段,但我似乎无法订阅任何修改。当我调用subscribe时,没有打开MQTT WebSocket 我尝试在Appsync文档中使用Appsync subscribe的示例,但它似乎不起作用 注意:我已经定义了infoID变量,类型信息{}是在模式

这是我在这里的第一个问题,我最近才开始编写NodeJS代码。现在我正在使用NodeJS和EJS作为我的应用程序的模板引擎。我的数据库是DynamoDB,我想通过使用AWS Appsync使其中一个表成为实时的。使用Appsync,我可以查询和修改表中的字段,但我似乎无法订阅任何修改。当我调用subscribe时,没有打开MQTT WebSocket

我尝试在Appsync文档中使用Appsync subscribe的示例,但它似乎不起作用

注意:我已经定义了infoID变量,类型信息{}是在模式中创建的,mutate和query都可以工作。只是订阅不起作用,并且没有在模板上创建MQTT websocket(使用NodeJS和EJS这是否可能?)

我的模式如下:

型突变{
deleteInfo(infoID:String!):信息
}
类型订阅{
onDeleteInfo(infoID:String):信息
@aws_订阅(突变:[“删除信息”])

}
如果您可以从应用程序中进行更改和查询,听起来您已经成功连接到AppSync。要调试订阅问题,您需要查看请求的网络响应。如果设置不正确,服务将发送错误消息

要检查的一个常见问题是,
订阅
是否在模式中定义

schema {
    query: Query
    mutation: Mutation
    subscription: Subscription
}

如果是这种情况,则发出订阅请求时将收到的错误消息是:
未为订阅配置架构。

以下是如何调用订阅的示例代码片段:

//设置订阅查询
常量子查询=gql`
接受订阅{
onUpdateDeveloperJob(developerRid:“ce261427-84ad-450b-91d1-83b78532dfe6”){
身份证件
若比德
显影剂
挑选出来的
}
}
`;
//设置Apollo客户端
const client=新的AWSAppSyncClient({
网址,
区域
认证:{
类型,
阿皮基
}
});
客户
.水合
。然后(appsyncClient=>{
//现在运行一个查询
//appsyncClient
//.query({query})
//。然后(数据=>{
//log('查询结果:',数据);
// 	})
//.catch(控制台错误);
//现在订阅结果
const observable=appsyncClient.subscribe({query:subquery});
const realtimesults=函数realtimesults(数据){
log('实时数据:',数据);
};
可观察的({
下一步:实时结果,
完成:console.log,
错误:console.log
});
})

.catch(控制台错误)如果您可以共享看到的任何错误消息,这将非常有用。另外,您是否从服务器端环境运行此程序,并使用EJS在服务器端呈现发送到客户端的HTML页面?这将是一个有趣的设置,因为您需要编写自己的双向传输层(或使用类似长轮询的方法),以便在收到新订阅结果时将新评估的EJS模板推送到客户端。您是否有机会查找任何错误消息。我在您的代码片段中看不到EJS的任何用途。您是否尝试在AppSync控制台中运行订阅查询以验证这是否是客户端问题?