【问题标题】:Alexa Skill SDK : Requested skill's response errorAlexa Skill SDK:请求的技能响应错误
【发布时间】:2018-09-24 06:56:59
【问题描述】:

我已按照教程进行操作。 我的 Alexa 技能是建立在调用、意图和话语设置的基础上的。 我的 Lambda 函数已设置完毕。

我的端点默认区域是:

arn:aws:lambda:us-east-1:(myID found in AWS Support Center ):function:myLearn

Lambda 中的 myLearn 函数使用 Alexa Skills Kit 设置,其中包含从技能中复制的正确技能 ID。

我的 HelloIntent 没有插槽。我只是想从调用中得到响应。

我的代码运行 node.js 6.10 并带有一个名为 index.handler 的处理程序,如下所示:

var Alexa = require("alexa-sdk");

var handlers = {
  "HelloIntent": function () {
    this.response.speak("Hello, It's Me."); 
    this.emit(':responseReady');
  },
  "LaunchRequest": function () {
    this.response.speak("Welcome to my thing I got going on."); 
    this.emit(':responseReady');
  }
};

exports.handler = function(event, context, callback){
  var alexa = Alexa.handler(event, context);
    alexa.registerHandlers(handlers);
    alexa.execute();
};

我了解到 zip 存在问题,但我没有上传任何内容 - 我只是更改了默认的 index.js 文件...而且我的处理程序没有任何不同的名称 - 它是 index.handler。

当我在 Alexa 控制台中运行测试时,我得到了 ol: "请求的技能响应有问题"

我的 json 输出为空。

当我在 Cloud Watch 中查看日志时:

无法导入模块“索引”:Function.Module._resolveFilename 出错

我对此进行了搜索,其中许多错误是用户上传 zip 的方式,并且处理程序名称和 js 文件存在冲突。

【问题讨论】:

    标签: amazon-web-services aws-lambda alexa alexa-skills-kit


    【解决方案1】:

    看起来您可能已经从 AWS 控制台创建了 Lambda 函数,但没有包含 alexa-sdk。要解决此问题,您可以首先使用提供的包含 alexa-sdk 的“Alexa 蓝图”之一,然后用您的代码覆盖 Lambda 中的代码。或者,您可以将代码打包到包含 alexa-sdk 模块的 .zip 文件中,然后通过 Web 控制台上传包。这是我不久前做的一个视频,它解释了这个问题https://youtu.be/cFzAIhsldbs - 我很确定这是你的问题。我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您可以尝试使用“speechOutput”变量来存储您的响应,然后使用 emit 函数。

      【讨论】:

        猜你喜欢
        • 2020-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-13
        • 1970-01-01
        • 2019-11-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多