【问题标题】:Is it possible to push test events to AWS Lambda with the Serverless Framework?是否可以使用无服务器框架将测试事件推送到 AWS Lambda?
【发布时间】:2019-04-08 01:51:11
【问题描述】:
我正在使用无服务器框架推送到 AWS Lambda。为了测试我的函数,我目前只是使用 Lambda 控制台添加每个方法,这变得相当乏味,我希望有一种方法可以将它们与 serverless deploy 的代码一起推送。
我在 Serverless 方法上找到了this reference 用于本地测试,但它似乎没有将这些测试事件部署到 Lambda。
理想情况下,我希望能够在无服务器中执行此操作,但如果有办法通过 aws-cli 执行此操作,它也可能是一个不错的选择。
【问题讨论】:
标签:
testing
aws-lambda
serverless-framework
【解决方案1】:
很遗憾,测试事件只是 AWS 控制台的一项功能,无法在 AWS API (docs) 上使用。
如您所见,无服务器框架包含调用命令 - 您已链接到 Invoke Local,但也存在 Invoke,它在云上调用您的函数,就像 AWS 控制台一样。
由于 Serverless 的 Invoke 命令可以将 JSON 文件作为事件,我可能建议的解决方法是创建 JSON 事件的文件夹(如 tests/payloads)作为代码的一部分。这样您就可以使用 serverless invoke -f functionName -p ./tests/payloads/payloadName.json 来模拟 AWS 控制台为您提供的体验。