我用 Node.js 编写了 AWS Lambda 函数(index.js),它对其他 npm 包有外部依赖,当我尝试测试 lambda 函数时,我必须压缩文件和节点模块,这非常耗时。 请帮助找到一种在本地执行该函数的方法。
谢谢
我可以看到本地测试的优势。看看这些开源项目:
另请参阅此 Stack Overflow 帖子:如何在本地测试 aws lambda 函数。
我们的命令行工具 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 进行测试。
测试更复杂的 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" ]