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