现在我正在尝试使用AWS Lambda构建一种跨平台。 我在Lambda中的对象处理程序应该能够处理Alexa Skill和Google Action的请求。那就是为什么我需要一个依赖处理程序。 Alexa对象处理程序如下所示:
const skillBuilder = Alexa.SkillBuilders.custom();
exports.handler = skillBuilder
.addRequestHandlers(
LaunchRequestHandler,
HelloWorldIntentHandler
)
.addErrorHandlers(ErrorHandler)
.lambda();
助手对象处理程序如下所示:
exports.handler = function(event, context, callback) {
app.handler(event, {}).then((res) => {
if (res.status != 200) {
callback(null, {"fulfillmentText": `I got status code:
${res.status}`});
} else {
callback(null, res.body);
}
}).catch((e) => {
callback(null, {"fulfillmentText": `There was an error\n${e}`});
});
};
现在,我想检查Lambda请求是否来自Assistant或Alexa,并取决于应正确处理它。但是到目前为止,我不确定该怎么做。你有什么想法?预先谢谢你!
答案 0 :(得分:0)
您正在通过API GATEWAY进入lambda,对不对?无论如何,您应该从事件对象获取其他信息。
API GATEWAY将发送有关封装在事件对象中的请求的所有信息,并将其作为参数传递给您的lambda函数。然后,您可以检查其属性,以查看是否从请求来源获得信息。
您可以这样记录事件对象:
console.log(JSON.stringify(event));