如何从本地系统执行AWS lambda函数

问题描述 投票:0回答:3

我用 Node.js 编写了 AWS Lambda 函数(index.js),它对其他 npm 包有外部依赖,当我尝试测试 lambda 函数时,我必须压缩文件和节点模块,这非常耗时。 请帮助找到一种在本地执行该函数的方法。

谢谢

node.js amazon-web-services npm aws-lambda alexa-skills-kit
3个回答
2
投票

我可以看到本地测试的优势。看看这些开源项目:

  1. lambda-local:测试 Lambda 函数 带有示例事件数据的本地计算机
  2. emulambda:一个模拟的 Python 包装器 本地 AWS Lambda API

另请参阅此 Stack Overflow 帖子:如何在本地测试 aws lambda 函数


0
投票

我们的命令行工具 bst proxy 完全可以满足您的需求: https://bespoken.tools/blog/2016/08/24/introducing-bst-proxy-for-alexa-skill-development

它将使您的 lambda 代码可以通过 URL 访问,然后您可以自己测试或使用真正的 Alexa 设备。要使用它,您需要使用 npm 安装 bst:

sh
npm install bespoken-tools -g

然后运行它:

bst proxy lambda index.js

然后您可以使用打印出来的 URL 进行测试。


0
投票

测试更复杂的 AWS lambda 函数的最佳方法,其中开发时间和本地基础设施是关键。使用他们的官方 AWS Lambda docker 镜像

文档中的简单 Dockerfile 示例:

FROM public.ecr.aws/lambda/nodejs:12

# Copy function code
COPY app.js ${LAMBDA_TASK_ROOT}

# Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile)
CMD [ "app.handler" ]
© www.soinside.com 2019 - 2024. All rights reserved.