【问题标题】:I am getting "error message: Process exited before completing request"我收到“错误消息:在完成请求之前进程已退出”
【发布时间】:2023-03-17 04:49:01
【问题描述】:

当我在 Lambda 内联代码编辑器上测试代码时,我总是收到这个错误:

 "errorMessage": "RequestId: b8efba3e-8940-11e7-a176-e7452208b749 Process exited before completing request"

这是代码(我用亚马逊的示例表单替换了我的代码,只是为了看看它是否只是我的代码):

'use strict';
var Alexa = require("aws-sdk");
exports.handler = function(event, context, callback) {
var alexa = Alexa.handler(event, context);
alexa.registerHandlers(handlers);
alexa.execute();
};
var handlers = {
   'LaunchRequest': function () {
        this.emit('SayHello');
    },
    'HelloWorldIntent': function () {
      this.emit('SayHello');
},
    'SayHello': function () {
        this.emit(':tell', 'Hello World!');
    }
};

【问题讨论】:

  • 这个语句末尾好像没有分号。 "HelloWorldIntent': function () { this.emit('SayHello') }"
  • 添加了 ; ,但仍然有同样的错误
  • 你检查过处理函数中“this”的值是否正确吗?
  • 对日志做了更多的挖掘,它说 Alexa.handler 不是一个函数

标签: node.js aws-lambda alexa alexa-skills-kit


【解决方案1】:

请检查您的 Lambda 函数配置。默认处理程序名称应为“index.handler”。如果不完全相同,请相应更改。如果您要上传 .zip 文件,请确保您的主处理程序函数应该在 index.js 文件中。请参考附上的截图,我标记了在哪里更改 Handler 配置。

【讨论】:

  • 处理程序名称为 index.handler。我的名字处理函数应该在 index.js 中是什么意思?
【解决方案2】:

这似乎是“执行结果”中提供的 Lambda 输出的一项功能。导致退出功能代码的任何类型的错误都可以在此处以缩写形式显示为“完成请求之前退出进程”。

查看错误确切原因的最佳方法是选择控制台页面顶部的“日志”链接,然后向下滚动到最新记录的消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 2017-06-18
    相关资源
    最近更新 更多