我想通过断点调试我的应用程序,这个lambda函数是通过上传到s3 bucket来触发的。是否有任何方法可以在本地使用断点进行调试,而不需要手工进行请求?因为通过打印值来部署和测试真的很慢。
我正为此使用python (但这可能并不重要)
发布于 2022-01-25 14:46:45
使用Serverless框架,您可以使用以下方法在本地测试s3事件:
sls invoke local -f yourFunction -p ./testEvent.json为此,您需要创建一个模拟s3事件并保存到一个文件中(在本例中名为testEvent.json)。要创建这样一个模拟s3事件,您可以定制亚马逊S3事件示例,以满足您的需求。或者,您可以从已部署的lambda函数中记录真实的s3事件,并从那里复制它。
然后将事件保存到文件中(例如,testEvent.json),并使用上面的命令调用函数。
发布于 2022-01-25 11:00:03
您试过使用SAM中的sam local generate-event 命令吗?下面的命令显示了如何生成JSON文件,然后可以传递给本地调用命令来触发本地函数。
sam local generate-event s3 put --bucket bucket-name --key key-name > event_file.json然后使用有效载荷调用函数:
sam local invoke function-name -e event_file.jsonhttps://stackoverflow.com/questions/70847408
复制相似问题