【发布时间】:2022-01-07 14:24:21
【问题描述】:
我目前有一个 Lex 机器人,它需要我的 AWS 账户上的 Lambda 函数。我想把这个现有的机器人变成一个 Alexa Skill,但不能轻易迁移。
到目前为止我做了什么:
- 发布 Lex Bot 版本并导出为 ASK
- 将 JSON 文件导入 Alexa 开发者控制台 JSON 编辑器
- 按照 this 教程让我的 Alexa Skill 和 Lambda 函数相互访问
我已经检查了 CloudWatch Logs,Alexa Skill 似乎可以正确调用我的函数,但是,它无法实现意图。当它到达意图对话的末尾时,Amazon Skill 只会说:
You just triggered [IntentName]
我了解JSON format is different for Alexa and Lex和返回格式如下:
// Alexa return
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt(speakOutput)
.getResponse();
// AWS Lex return
return {
sessionAttributes: attributes,
dialogAction: {
type: 'Close',
fulfillmentState: fulfillStatus,
message: {
contentType: "PlainText",
content: messageContent,
}
}
};
是否有任何简单的方法可以将我现有的 Lambda 函数转换为使用 Alexa Skill 而无需重写整个内容?
【问题讨论】:
标签: node.js amazon-web-services aws-lambda alexa-skills-kit amazon-lex