我无法正确连接示例
I can't get the example connect properly
本周早些时候我开始使用 Alexa 技能包。技能本身的发展并不可怕,因为我的技能在连接到 ARN 并通过模拟器 运行 时可以正常工作。但是,我想在我的实际 Alexa 设备上测试它,所以我将它部署到 lamba,如教程中指定的那样。我在 network/server 管理方面相当缺乏经验,所以也许我在 nginx 代理上设置了一些错误。当我尝试通过网页访问管理控制台中的 url 时,我得到了 502(这是正确的,因为如果我理解正确的话,应用程序应该在 443 上查看)。然后这会反映在 nginxaccess 和 nginxerror 日志中,所以我知道我实际上正在连接到代理服务器。当我查看节点日志时,它显示
Virtual_Dungeon_Master@0.0.5 开始/var/app/current
节点 index.js
循环并重复了一大堆。这是一个新解压的示例 helloWorld src 文件。我认为问题很有可能出在我的应用程序 ID 上。我把我的应用程序 ID 放在这样的地方。
var APP_ID = 'amzn1.ask.skill.[zzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzz]';`
和我的技能配置相符,所以我怀疑是不是。当我尝试通过技能模拟器连接到它时,它显示 "The remote endpoint could not be called, or the response it returned was invalid." 我检查了控制台,它说响应如下。
angular.js:12808TypeError: 无法读取 null 的 属性 'response'
在 d.invokeSkillWithTextAsync.then.a.textRequest
另外请注意,当我尝试通过技能模拟器连接时,它不会在日志中记录事件。这让我相信外部和代理服务器之间通过 https 的连接存在某种问题。如果我将部署更改为亚马逊示例 http 部署 运行 一个节点服务器,它工作正常,并且我在我的 Web 浏览器中得到服务的股票示例索引页面就好了。还有什么我可以检查的吗?
此外,如果我不必要地罗嗦,我深表歉意,但我想让这个 post 更容易被搜索引擎找到。
我解决了。问题是它部署在 Lambda 上,而我是 运行 EC2 实例上的代码。我只需要使用 ARN 在我的设备上对其进行测试
本周早些时候我开始使用 Alexa 技能包。技能本身的发展并不可怕,因为我的技能在连接到 ARN 并通过模拟器 运行 时可以正常工作。但是,我想在我的实际 Alexa 设备上测试它,所以我将它部署到 lamba,如教程中指定的那样。我在 network/server 管理方面相当缺乏经验,所以也许我在 nginx 代理上设置了一些错误。当我尝试通过网页访问管理控制台中的 url 时,我得到了 502(这是正确的,因为如果我理解正确的话,应用程序应该在 443 上查看)。然后这会反映在 nginxaccess 和 nginxerror 日志中,所以我知道我实际上正在连接到代理服务器。当我查看节点日志时,它显示
Virtual_Dungeon_Master@0.0.5 开始/var/app/current 节点 index.js 循环并重复了一大堆。这是一个新解压的示例 helloWorld src 文件。我认为问题很有可能出在我的应用程序 ID 上。我把我的应用程序 ID 放在这样的地方。
var APP_ID = 'amzn1.ask.skill.[zzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzz]';`
和我的技能配置相符,所以我怀疑是不是。当我尝试通过技能模拟器连接到它时,它显示 "The remote endpoint could not be called, or the response it returned was invalid." 我检查了控制台,它说响应如下。
angular.js:12808TypeError: 无法读取 null 的 属性 'response' 在 d.invokeSkillWithTextAsync.then.a.textRequest
另外请注意,当我尝试通过技能模拟器连接时,它不会在日志中记录事件。这让我相信外部和代理服务器之间通过 https 的连接存在某种问题。如果我将部署更改为亚马逊示例 http 部署 运行 一个节点服务器,它工作正常,并且我在我的 Web 浏览器中得到服务的股票示例索引页面就好了。还有什么我可以检查的吗?
此外,如果我不必要地罗嗦,我深表歉意,但我想让这个 post 更容易被搜索引擎找到。
我解决了。问题是它部署在 Lambda 上,而我是 运行 EC2 实例上的代码。我只需要使用 ARN 在我的设备上对其进行测试