Node.js 本地测试Lambda(Lambda函数调用另一个Lambda函数)

Node.js 本地测试Lambda(Lambda函数调用另一个Lambda函数),node.js,amazon-web-services,aws-lambda,serverless-architecture,Node.js,Amazon Web Services,Aws Lambda,Serverless Architecture,我正在学习节点和无服务器架构。 为了在本地测试lambda函数,我目前正在使用的lambda函数到目前为止运行良好 现在我有一个函数,另一个lambda函数,类似这样: let lambda = new integration.myLambda.AWS.Lambda(); let params = { FunctionName: 'my-other-function', InvocationType: 'RequestResponse',

我正在学习节点和无服务器架构。 为了在本地测试lambda函数,我目前正在使用的lambda函数到目前为止运行良好

现在我有一个函数,另一个lambda函数,类似这样:

    let lambda = new integration.myLambda.AWS.Lambda();
    let params = {
        FunctionName: 'my-other-function',
        InvocationType: 'RequestResponse',
        LogType: 'None',
        Payload: JSON.stringify(myEvent)
    };

    return new Promise((resolve, reject) => {

        lambda.invoke(params, function (error, data) {
            if (error) {
                console.log('error on invoke', error);
                reject({
                    statusCode: HttpStatus.INTERNAL_SERVER_ERROR,
                    message: error
                });

            } else {
                console.log('invoke success', data);
                resolve(JSON.parse(data.Payload));
            }
        });

    });
这段代码在本地不起作用,但一旦部署到aws上,就可以正常工作了。然而,部署到aws大约需要2分钟。所以我想知道是否有一种方法可以让这些代码在本地运行

有什么建议吗


谢谢大家!

因此,我个人将其作为我首选的本地框架,还有一个来自atlassian的非常有前途的项目,名为localstack——我实际上还没有尝试第二个!希望这有帮助。

所以我发现我需要它做的就是导出: accessKeyId和secretAccessKey

为了进行测试,将其放在调用上方的代码中。然后确保你把它们放在一个安全的地方

我在出口它们

export ACCESS_KEY_ID=yourkey

export SECRET_ACCESS_KEY=yoursecretkey
现在我正在使用docker,所以我将它们保存在配置文件中


希望这对我2年的AWS Lambda经验有所帮助

——我假设您希望在本地运行它们,以便对它们进行单元测试。有几种在本地对AWS Lambda进行单元测试的方法。在这篇文章中,他们描述了我一直在使用的一个,我可以推荐:我目前处于类似的情况。。。你有没有找到这样做的方法?谢谢