部署Lambda函数之前如何删除ptvsd调试代码

时间:2019-05-16 09:58:27

标签: python aws-lambda aws-sam-cli

我正在使用Python和AWS-SAM-CLI开发无服务器应用程序。我正在使用ptvsd库调试函数。为了连接调试器,以下代码段必须位于功能代码中。

ptvsd.enable_attach(address=('0.0.0.0', 5890), redirect_output=True)
ptvsd.wait_for_attach()

很明显,在将功能部署到舞台或生产环境之前,必须删除此代码。

是否有一种方法可以在打包/部署步骤期间自动执行此操作,而不必在部署前从每个功能中手动删除此代码段?

1 个答案:

答案 0 :(得分:0)

我会在您的本地环境中设置一个环境变量,例如DEV=true(这里的值并不重要),然后将该代码包装在IF语句周围。

if "DEV" in os.environ:
    ptvsd.enable_attach(address=('0.0.0.0', 5890), redirect_output=True)
    ptvsd.wait_for_attach()

该代码仍然存在,但是除非存在环境变量,否则它将永远不会执行。