我创建了一个简单的Lambda函数来调用一个网页,当我从函数页面测试它时,它可以正常工作,但是当试图创建一个调用这个函数的技能时,我最终得到了一个“远程endpoint无法html" target="_blank">调用,或者它返回的响应无效”错误
匿名函数
var http = require('http');
exports.handler = function(event, context) {
console.log('start request to ' + event.url)
http.get(event.url, function(res) {
console.log("Got response: " + res.statusCode);
context.succeed();
}).on('error', function(e) {
console.log("Got error: " + e.message);
context.done(null, 'FAILURE');
});
console.log('end request to ' + event.url);
}
测试事件代码如下所示:
{
"url": "http://mywebsite.co.uk"
}
我还为“Alexa技能工具包”添加了一个触发器。
此功能的ARN显示为:
ARN:aws:lambda:美国东部-1:052516835015:函数:CustomFunction
Alexa Skill(开发者门户)
然后我用一个简单的意图创造了一个技能:
{
"intents": [
{
"intent": "CustomFunction"
}
]
}
创造了这样一种说法:
CustomFunction execute my custom function
在我的技能配置部分,我选择了“AWS Lambda ARN(亚马逊资源名称)”选项,并将ARN输入北美的框中。
在测试中-
{
"session": {
"sessionId": "SessionId.a3e8aee0-acae-4de5-85df-XXXXXXXXX",
"application": {
"applicationId": "amzn1.ask.skill.XXXXXXXXX"
},
"attributes": {},
"user": {
"userId": "amzn1.ask.account.XXXXXXXXX"
},
"new": true
},
"request": {
"type": "IntentRequest",
"requestId": "EdwRequestId.445267bd-2b4a-45ef-8566-XXXXXXXXX",
"locale": "en-GB",
"timestamp": "2016-11-27T22:54:07Z",
"intent": {
"name": "RunWOL",
"slots": {}
}
},
"version": "1.0"
}
但当我运行测试时,我得到以下错误:
无法调用远程终结点,或者它返回的响应无效。
有人知道为什么技能不能连接到功能上吗?
谢啦
这个错误信息非常广泛,可能意味着许多不同的问题。我收到了这个错误,在我的情况下,这是一个超时问题。你正在ping的网站需要多长时间才能回复?超时似乎没有被正确记录,请参阅我的原始问题:亚马逊Alexa Skill Kit(ASK)Lambda交互故障排除
上传. zip
时,不要将文件夹压缩到. zip中。
相反,进入文件夹,选择package。json
,索引。js
和节点模块
Amazon Alexa开发者控制台中内置的服务模拟器存在已知问题。尝试复制模拟器生成的JSON,并将其粘贴到lambda函数的测试事件中。要访问lambda的测试事件,请首先找到蓝色的“测试”按钮。在该按钮旁边选择(操作下拉菜单)-
如果这不能解决问题,lambda的测试事件将返回完整的堆栈跟踪和错误代码。当每个错误都不是“无法调用远程endpoint,或者它返回的响应无效”时,故障排除就变得容易多了
{
"session": {
"sessionId": "SessionId.a3e8aee0-acae-4de5-85df-XXXXXXXXX",
"application": {
"applicationId": "amzn1.ask.skill.XXXXXXXXX"
},
"attributes": {},
"user": {
"userId": "amzn1.ask.account.XXXXXXXXX"
},
"new": true
},
"request": {
"type": "IntentRequest",
"requestId": "EdwRequestId.445267bd-2b4a-45ef-8566-XXXXXXXXX",
"locale": "en-GB",
"timestamp": "2016-11-27T22:54:07Z",
"intent": {
"name": "RunWOL",
"slots": {}
}
},
"version": "1.0"
}
我正在使用dropwizard和jersey2 rest客户端,我得到 然而,当我打开日志记录时,我看到 我怎样才能反序列化这个响应,而不是只得到400? 我的代码看起来像 亚洲账户基本上是空的 我添加了apiVerson,时间戳和错误到亚洲帐户,但它仍然不工作。任何帮助都很感激。
如果我在Wildfly中使用默认的安全域设置,我可以成功调用远程EJB。我访问此安全域根本没有检查任何用户凭据。在实现或使用检查数据库中用户名和密码的安全域后,我遇到了下面的异常。 我不知道我错过了什么。我希望这里有人能给我指出一个正确的方向。 例外情况: jboss-ejb3。xml: 独立。xml TestRemote。Java语言 谢谢,贝尔
我需要远程调试我的应用程序,但由于以下错误,我无法这样做: 我有: null 下面是iptables的输出: 如何用8000端口修复此问题?或者也许我的主要问题还有其他原因?
这三个函数的返回类型提示有什么不同吗? 他们都应该有< code>- 提问的动机是这个问题,这个很好的答案,以及我正在学习类型提示的事实。
在我的服务中,我执行了一个超文本传输协议调用,并将响应返回为可观察的 我订阅了一个组件 这样做实际上是有效的;我可以在控制台中看到对象的转储 当我想从服务返回映射为json的响应时,出现了问题。 我想做他的 但在运行时,我得到了一个模糊的javascript错误(准确地说,这是来自Zone.js) 我已经尝试将返回类型从
我目前正尝试在Node.js中使用Microsoft Graph实现对日历/用户的直接登录。 grant_type: client_id:{app_id} client_secret:{app_secret} 作用域: 并且我使用一个令牌。 使用授权承载和上述令牌打开->将返回代码状态200以及在步骤1中使用的用户帐户。