java - 将技能部署为 Web 服务(不使用 ngrok 来隧道本地主机)
问题描述
我正在尝试将技能服务部署为 Web 服务,而不是使用 lambda 函数,而是作为 HTTPS 端点(Alexa 需要 HTTPS 端点进行请求转发)。ASK-SDK-JAVA servlet 有助于实现相同的目的,但文档描述了有关 TOMCAT 和 NGROK 的本地使用。我部署了与.war
Heroku 文档中使用的相同,但请求没有被转发到端点。如何将服务托管为 HTTPS 端点?我可以使用.jar
还是只使用.war
?
我使用“SkillServlet”制作了示例 HelloWorld 程序,如下所示。
当我调用技能时。Alexa 抛出以下语音输出
There was a problem communicating with the requested skill.
(无法查询端点)
解决方案
我认为这是因为您没有遵守Alexa 团队在此处提到的规则。他们有一套规则,比如验证 Alexa 请求,我认为他们这样做是出于安全和 100% 正常运行时间的原因。
我不知道,java-sdk,
但我也想node-sdk
在我的自定义端点上部署我的技能,我发现 Alexa 规则非常复杂。所以我建议你坚持在 Lambda 上托管。
推荐阅读
- css - 我的网站只在 Bootstrap 3 中显示选择器,尽管我的 Bootstrap 版本是 4.5
- python - list[index] +1 是什么意思?
- java - 编写代码以确定航班的总成本
- javascript - 当用户点击节点时显示依赖边
- arkit - USDPython 0.64 - 将 FBX 转换为 USD(带有变形目标)
- f# - 如何在不擦除内容的情况下设置按钮的名称?
- excel - 删除删除线文本并复制到新列缺少第一个点
- c# - Shift键简化
- javascript - 反应日历时间线问题
- ckeditor - CKEditor 4 stylesSet - 为具有特定父元素的元素应用类