我正在使用 Python 和 AWS-SAM-CLI 开发无服务器应用程序。我正在使用 ptvsd
库调试我的函数。为了附加调试器,以下代码段必须在函数代码中。
ptvsd.enable_attach(address=('0.0.0.0', 5890), redirect_output=True)
ptvsd.wait_for_attach()
显然,在将函数部署到阶段或生产环境之前必须删除此代码。
有没有一种方法可以在打包/部署步骤中自动执行此操作,而不必在部署之前从每个函数中手动删除这段代码?
最佳答案
我会在您的本地环境中设置一个环境变量,比方说,DEV=true
(此处的值并不重要),并将该代码包裹在一个 IF 语句中。
if "DEV" in os.environ:
ptvsd.enable_attach(address=('0.0.0.0', 5890), redirect_output=True)
ptvsd.wait_for_attach()
代码仍然存在,但除非环境变量存在,否则永远不会执行。
关于python - 如何在部署 lambda 函数之前删除 ptvsd 调试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56165863/