首页 > 解决方案 > 将技能部署为 Web 服务(不使用 ngrok 来隧道本地主机)

问题描述

我正在尝试将技能服务部署为 Web 服务,而不是使用 lambda 函数,而是作为 HTTPS 端点(Alexa 需要 HTTPS 端点进行请求转发)。ASK-SDK-JAVA servlet 有助于实现相同的目的,但文档描述了有关 TOMCAT 和 NGROK 的本地使用。我部署了与.warHeroku 文档中使用的相同,但请求没有被转发到端点。如何将服务托管为 HTTPS 端点?我可以使用.jar还是只使用.war

我使用“SkillServlet”制作了示例 HelloWorld 程序,如下所示

当我调用技能时。Alexa 抛出以下语音输出

There was a problem communicating with the requested skill.

(无法查询端点)

标签: javahttphttpsaws-lambdaalexa-skills-kit

解决方案


我认为这是因为您没有遵守Alexa 团队在此处提到的规则。他们有一套规则,比如验证 Alexa 请求,我认为他们这样做是出于安全和 100% 正常运行时间的原因。

我不知道,java-sdk,但我也想node-sdk在我的自定义端点上部署我的技能,我发现 Alexa 规则非常复杂。所以我建议你坚持在 Lambda 上托管。


推荐阅读