更新:我的http请求endpoint出错。我没有设置适当的身份验证选项,因此修复了很多错误,可能是这个特定的错误。
我的问题与这里的问题类似:
Node.jsLambda函数从REST调用返回"响应无效"给Alexa服务模拟器
然而,这个问题的解决方案并不能解决我的问题。因此,我对Hana云中的xsjs服务进行了http请求调用。我收到“响应无效”错误消息。我不明白为什么。以下是我的功能:
// Create a web request and handle the response.
function httpGet(query, callback) {
console.log("/n QUERY: "+ query);
var host = 'datacloudyd070518trial.hanatrial.ondemand.com';
var path = '/LocationInformation/getLocationInfo.xsjs?location=';
var hostname = 'https://' + host + path + query;
var auth = 'user1:D1anafer';
var req = http.request({'hostname': hostname,
'auth': auth
}, (res) => {
var body = '';
res.on('data', (d) => {
body += JSON.stringify(d);
});
res.on('end', function () {
callback(body);
});
});
req.end();
req.on('error', (e) => {
console.error(e);
});
}
以及调用它的函数:
'getNewsIntent': function () {
//self = this;
httpGet(location, function (response) {
// Parse the response into a JSON object ready to be formatted.
//var output = JSON.parse(response);
//output = output['change'];
var output = response;
var cardTitle = location;
var cardContent = output;
alexa.emit(':tellWithCard', output, cardTitle, cardContent);
});
},
谢谢你-黛安娜
来自Lambda的回调必须返回有效的状态码和正文。像这样:
let payload = {
statusCode: 400,
body: JSON.stringify('body'),
headers: {"Access-Control-Allow-Origin": "*"}
};
callback(null, payload);
最重要的是,要从客户端代码调用它,必须传回CORS头。
这只是我脑海中的猜测。要真正帮助一些详细的错误消息,就像前面提到的那样。
但只是一个猜测:你的 http.request() 正在使用 http 模块
(https://nodejs.org/api/http.html), 而你正在访问一个 https 资源。如果是这样,有一个https(https://nodejs.org/api/https.html)模块,或者使用像axios https://www.npmjs.com/package/axios 或请求js(https://github.com/request/request)这样的东西,这将处理两者。
就像我说的,只是瞎猜,没有详细的错误信息和看到你需要的声明,但我很高兴深入研究,如果你碰巧有细节。
HTH
在您的AWS帐户中,进入您的< code>Lambda函数,并单击< code>monitoring选项卡,您应该会在右上角看到“查看Cloudwatch中的日志”。如果您单击该链接,您应该会看到正在产生的错误。
您还可以使用控制台。log()
记录从REST api返回的任何信息,这些信息将记录在cloudwatch中,可以帮助您查看错误所在。
下面是我的php实现代码: 这是用于生成Amazon Pay按钮的JS实现代码。
亚马逊云 图 1.20.2.1 - AWS AWS,即 Amazon Web Services,是亚马逊(Amazon)公司的 IaaS 和 PaaS 平台服务。AWS 提供了一整套基础设施和应用程序服务,使用户几乎能够在云中运行一切应用程序:从企业应用程序和大数据项目,到社交游戏和移动应用程序。AWS 面向用户提供包括弹性计算、存储、数据库、应用程序在内的一整套云计算服务,能够帮助企业降低 IT
我想问alexa各种各样的问题,最后我想让它问“你还有什么想知道的吗?”当我说“是”(yes是工作建议)时,它应该根据我的意图来建议我。就像我在
我刚刚开始使用AWS EC2。我明白EC2就像一台远程计算机,在那里我可以做几乎所有我想做的事情。然后我发现了ECS的事。我知道它使用Docker,但我对这两者之间的关系感到困惑。 ECS只是EC2中的Docker安装吗?如果我已经有一个EC2并且我启动了一个ECS,这是否意味着我有两个实例?
我正在努力培养Alexa技能。我仍在试图让Alexa在有意向请求时说些什么,但我遇到了一个错误,我不知道该怎么办。当我通过Alexa服务模拟器运行示例话语时,我得到了错误: 无法调用远程终结点,或者它返回的响应无效。 如果我在lambda测试事件中运行相同的语句,我得到的错误是: "错误消息":"异常:引用错误:未定义输出" 我的javascript代码是 任何帮助将不胜感激,谢谢!
但有些多重问题, 如何在.NET中对Amazon Cognito用户池执行身份验证。我以以下方式启动Auth: 他们的文档非常非常糟糕,当我想回应挑战时,我似乎找不到该通过什么。 我假设它只是用默认的JWT中间件配置OWIN,还是应该期待其他东西?