AWS Lambda:Java 集成测试
AWS Lambda: Java Integration testing
有没有办法为几个通过 AWS SNS 主题相互交互的 AWS Lambda 构建适当的集成测试?
我使用 Java 部署了两个 lambda。
- 第一个订阅了 AWS SNS_topic#1。它过滤和转换 SNS 消息并将修改后的数据推送到 SNS_topic#2.
- 第二个 lambda 订阅了 SNS_topic#2。它修改 SNS 消息并向外部端点发出 http 请求。
我需要构建端到端集成测试来检查整个交互。
如果您想从本地进行测试,可以使用 amazon-cli。
amazon-cli 将帮助您通过 aws lambda 调用命令手动触发您的 lamda。
请从 this link 在本地安装 amazon-cli。
之后,您可以使用 aws lamda 命令从您的 cli 调用 amazon 1st lamda。它带有很多选项,比如你可以传递有效载荷(在实际场景中应该是从 SNS 传递的)。
Executing AWS Lamda from Amazon-CLI Command details description
示例命令:
aws lambda invoke --function-name your_function_name --invocation-type RequestResponse outfile.txt --payload file:requestFile.txt
希望对您有所帮助。
其实还有更好的方法,你应该看看
https://github.com/localstack/localstack
和 https://github.com/localstack/localstack-java-utils
这两个工具将帮助您测试构建在 AWS 上的无服务器应用程序
有没有办法为几个通过 AWS SNS 主题相互交互的 AWS Lambda 构建适当的集成测试?
我使用 Java 部署了两个 lambda。
- 第一个订阅了 AWS SNS_topic#1。它过滤和转换 SNS 消息并将修改后的数据推送到 SNS_topic#2.
- 第二个 lambda 订阅了 SNS_topic#2。它修改 SNS 消息并向外部端点发出 http 请求。
我需要构建端到端集成测试来检查整个交互。
如果您想从本地进行测试,可以使用 amazon-cli。
amazon-cli 将帮助您通过 aws lambda 调用命令手动触发您的 lamda。
请从 this link 在本地安装 amazon-cli。
之后,您可以使用 aws lamda 命令从您的 cli 调用 amazon 1st lamda。它带有很多选项,比如你可以传递有效载荷(在实际场景中应该是从 SNS 传递的)。
Executing AWS Lamda from Amazon-CLI Command details description
示例命令:
aws lambda invoke --function-name your_function_name --invocation-type RequestResponse outfile.txt --payload file:requestFile.txt
希望对您有所帮助。
其实还有更好的方法,你应该看看 https://github.com/localstack/localstack 和 https://github.com/localstack/localstack-java-utils 这两个工具将帮助您测试构建在 AWS 上的无服务器应用程序