gpt4 book ai didi

python - 如何检查 Python 应用程序是否在 AWS lambda 函数中运行?

转载 作者:太空狗 更新时间:2023-10-29 20:16:41 25 4
gpt4 key购买 nike

我有一个连接到数据库的 Python 应用程序,当它在本地环境(用于测试)或 lambda 函数(用于生产)中运行时,我希望数据库凭据有所不同。

有什么方法可以从 Python 应用程序检测它是否在 lambda 函数内运行?

最佳答案

编辑 2:感谢@MarkB 提供有关自定义运行时新功能的更新。

方法:某些环境变量的值是在代码在 AWS 中运行时设置的。检查是否存在此类变量将表明代码正在 AWS 中运行。

但是,由于一项新功能,我之前使用 AWS_EXECUTION_ENV 环境变量在所有情况下都无法正常工作。来自此处的文档 https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html AWS_EXECUTION_ENV 环境变量不是为自定义运行时定义的,这意味着在使用自定义运行时时检查它是否存在并不能指示代码是否在 AWS 上运行。可以检查是否存在其他 AWS_* 特定环境变量之一(参见上面的链接)。哪一个适合您可能取决于您的用例。但马克的建议看起来不错!

os.environ.get("AWS_LAMBDA_FUNCTION_NAME") is not None

这对我有用 只要您使用标准的 AWS 运行时环境,以下内容就可以工作

os.environ.get("AWS_EXECUTION_ENV") is not None

编辑:我发现 context 对象的存在不足以进行此类检查,因为您可能在未在 AWS lambda 函数中运行时模拟它。再一次,您可能也在 mock AWS_EXECUTION_ENV ...

关于python - 如何检查 Python 应用程序是否在 AWS lambda 函数中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36287374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com