【发布时间】:2020-03-15 17:13:31
【问题描述】:
我一直在使用无服务器框架、Flask 和 SLS WSGI 在 AWS 上创建一些 Lambda 函数。一些 dynamodb 表,但在这种情况下应该无关紧要。
我面临的问题是我无法端到端调试整个事情,我能够运行sls wsgi serve 并运行我的 lambda 函数的本地实例,快乐的日子。但是,我有点被其他开发工具、语言和 IDE(甚至只是 Flask 本身)宠坏了,它们允许我设置断点并查看范围、单步执行等。所以我真的很希望能够在这里完成也是。
我尝试在 vs code 内部的启动配置中启动上述 sls 命令,但没有成功。接下来我尝试运行默认的烧瓶启动配置,但这显然不包括存储在 sls.yml 文件中的所有配置,这对于访问本地 dynamodb 实例至关重要。
我尝试的最后一件事是在我的 app.py 文件末尾附加到 ptvsd。所以我会从 ptvsd 中执行wait 操作,将 vs 代码中的调试器附加到指定端口,这似乎成功并返回代码执行。但是,似乎 sls wsgi 运行该文件两次,因此附加发生在第一个实例而不是第二个实例上,当我尝试通过 Postman 执行 API 调用时,它不会触发断点。
我想我可以在任何地方手动包含wait 步骤,然后为我尝试在代码中而不是在 IDE 中调试的每个方法附加,但这似乎有点矫枉过正而且不太方便。
我一直在网上寻找答案并阅读文档,但找不到更多信息。
【问题讨论】:
标签: debugging visual-studio-code aws-lambda wsgi aws-serverless