如何在 aws lambda 中调用 javascript 类处理函数

摩门

我正在尝试将 AWS lambda 与 nodejs 中的 ECMA6 类一起使用。目前我的代码看起来像这样(我真正想做的简化版本):

class testClass {
    constructor(str) {
        this.str = str;
    }

    async handler(event) {
        return {
            statusCode: 200,
            body: this.str,
        };    
    }
}

module.exports = new testClass('test');

当在本地测试时

const testClass = require('./testClass');
const result = await testClass.handler();

它按预期工作,但是当我将它添加到 lambda 函数并调用它时,它返回

{
  "errorMessage": "Cannot read property 'str' of undefined",
  "errorType": "TypeError",
  "stackTrace": [
    "handler (/var/task/index.js:9:24)"
  ]
}

因此,似乎没有在 lambda 上下文中调用类的构造函数。知道为什么会这样以及如何解决这个问题吗?

丹尼斯·卡洛斯·罗德里格斯

您可以在 es6 类中使用静态函数,AWS 需要一个带有回调参数的函数,该函数将被执行。对于响应,如果您传递一个类方法,而不实例化该类,它将无法工作,这就是您应该使用静态函数的原因,如下所示:

// MyAwesomeClassLambda.js

class MyAwesomeClassLambda {
    static async myAwesomeClassFunction(event) {
        // return await someAsyncMethodLikeDataBaseCallOrSomethingLikeThat()
        return { message: 'hello world' }
    }
}

module.exports = MyAwesomeClassLambda

顺便说一句,该函数必须是async,这是与function版本中传递的回调等效的行为

在 AWS Lambda 控制台中,您必须将函数指定为:file_name.function_name,在本例中MyAwesomeClassLambda.myAwesomeClassFunction

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Swift中调用AWS Lambda函数

来自分类Dev

如何使用aws lambda函数在Python中调用bash脚本?

来自分类Dev

如何在 AWS lambda 函数中调用外部 API 或 URL(python 代码)?

来自分类Dev

如何从帐户A(VPC中的Lambda)中的Lambda调用帐户B(VPC中的此Lambda)中的AWS Lambda函数

来自分类Dev

如何异步调用AWS Lambda函数

来自分类Dev

如何异步调用AWS Lambda函数

来自分类Dev

javascript对象-如何在类函数中调用类变量

来自分类Dev

如何在AWS Lambda中调用SSL安全的REST服务

来自分类Dev

如何在javascript匿名函数中调用类释放函数

来自分类Dev

如何在CLI中获取AWS Lambda函数名称?

来自分类Dev

如何在Amazon AWS Lambda函数中订阅MQTT主题?

来自分类Dev

如何在Go AWS Lambda函数中访问参数

来自分类Dev

如何在AWS Lambda函数中获取eventName?

来自分类Dev

Lambda代码中的AWS Boto函数调用

来自分类Dev

在AWS Lambda中调用嵌套函数

来自分类Dev

Lambda代码中的AWS Boto函数调用

来自分类Dev

如何在JavaScript中调用类成员函数

来自分类Dev

如何在本地测试AWS Lambda函数

来自分类Dev

在forEach中调用类函数:Javascript如何处理“ this”关键字

来自分类Dev

如何在VBA中调用JavaScript函数?

来自分类Dev

如何在JavaScript中调用jquery函数?

来自分类Dev

如何在iframe中调用javascript函数?

来自分类Dev

如何在JavaScript中调用嵌套函数?

来自分类Dev

如何在JavaScript中调用嵌套函数?

来自分类Dev

如何在iframe中调用javascript函数?

来自分类Dev

如何在VBA中调用JavaScript函数?

来自分类Dev

如何在javascript中调用递归函数

来自分类Dev

如何在 PHP 中调用 JavaScript 函数?

来自分类Dev

如何在 AWS Lambda 中管理部署

Related 相关文章

热门标签

归档