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

2023-12-24

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

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


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

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

然而,由于我之前的新功能AWS_EXECUTION_ENV环境变量并非在所有情况下都起作用。从这里的文档https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html The AWS_EXECUTION_ENV environment variable is not defined for custom runtimes,这意味着在使用自定义运行时时检查其存在并不能表明代码是否在 AWS 上运行。 可以检查其中之一是否存在AWS_*特定的环境变量(参见上面的链接)。哪一种适合您可能取决于您的用例。但马克的建议看起来不错!

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

This works for me The following would work as long as you are using a standard AWS runtime environment

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

编辑:我发现存在contextobject 不足以进行此类检查,因为当不在 AWS lambda 函数中运行时您可能会模拟它。话又说回来,您可能也在嘲笑 AWS_EXECUTION_ENV ...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查Python应用程序是否在AWS lambda函数中运行? 的相关文章

随机推荐

  • 插入 USB 驱动器时启动 PowerShell 脚本

    有什么方法可以在 USB 驱动器插入 PC 时立即启动位于 USB 驱动器上的 PowerShell 脚本吗 它必须将所有 PDF 文件从 PC 复制到 USB 驱动器 但这不是问题 我唯一不知道的是如何在插入 USB 驱动器后立即启动脚本
  • Canvas.toDataURL() 解决方法?

    好的 我的一个朋友请我帮助他为他正在开发的移动网站创建一个画布绘画应用程序 然而 他无法将 画作 保存到服务器上 我做了一些检查 发现在当前版本的浏览器 基于 WebKIt IIRC 中 toDataURL 支持被随机丢弃 是否有任何解决方
  • 本地主机与真实IP地址

    本地主机和真实IP地址有什么区别 如果我使用访问应用程序http localhost 8080 index html and http 192 123 456 001 8080 index html 例如192 123 456 001是主机
  • ThreeJS:从屏幕 2D 坐标转换为相机近平面上的世界 3D 坐标? R73

    我在坐标转换方面遇到了一些麻烦 我在屏幕上有一个具有已知坐标 x y 的对象 我想将其转换为世界坐标 x y z 因为它将投影在相机的近平面上 到目前为止 我可以像这样在 Z 平面上进行投影 var vector new THREE Vec
  • 使 proj_api.h 可用于 pip install cartopy

    我正在尝试安装cartopy via pip install cartopy 我已经安装了proj 4它已经在这里放置了必要的文件 Downloads proj 4 9 2 ls l usr local include proj api h
  • 无法将计数标签放置在存在异常值的箱线图须处

    我试图将观察计数的标签放置在箱线图胡须的末端 但当存在异常值时它似乎不起作用 我尝试将最大 最小值与我认为计算出的晶须长度 四分位数 1 或四分位数 3 或 1 5 四分位数范围 进行比较 但标签既不会放置在最大 最小值处 也不会放置在胡须
  • 使用 awk 在文件中查找字符串

    所以我想从文件中抓取一个字符串 文件包含数据 Id Name CreationDate Comment 1 testing 19 10 11 created by jag 2 develop 19 10 12 created by jag
  • (FB Instant games) 我如何获取/设置屏幕分辨率?

    如何在移动 Facebook 应用程序或 Messenger 中获取 设置即时游戏的屏幕分辨率 我尝试通过 window screen width 和 window innerWidth 获得它 它返回了我360像素 但我在Chrome浏览
  • 了解 C++ 中的顺序一致性栅栏

    我正在阅读有关 C 中的内存顺序的内容 我可以很好地理解放松和获取 释放模型 但我正在努力解决顺序一致性问题 如果我没记错的话 从参考参数 https en cppreference com w cpp atomic memory orde
  • 如何使用CAGradientLayer绘制渐变色轮?

    我从这些链接中得到了一些参考 色轮背后的算法是什么 https stackoverflow com questions 4897181 what is the algorithm behind a color wheel 色轮背后的数学 h
  • 将日期字符串解析为带时区的日期时间

    我有一个字符串 r Thu Dec 17 08 56 41 CST 2020 这里CST代表中国中部时间 亚洲 上海 我想将它解析为日期时间 我正在做类似的事情 from dateparser import parse r1 parse r
  • 如何评估 PHP 中作为字符串传递的公式?

    只是想找出正确且更安全的方法来执行作为字符串传递的数学运算 在我的场景中 它是从图像 EXIF 数据中获取的值 经过一番研究后 我发现了两种方法 首先 使用eval function calculator1 str eval str str
  • 如何在注销时从 uber API 中删除访问令牌?

    I am doing integrate uber sdk using oAuth2Client in ios I got access token using https login uber com oauth v2 token htt
  • 使用 UITextView 防止自动换行

    使用iPhone sdk 3 1 2 我有一个启用垂直和水平滚动的 UITextView 控件 我希望每行文本都显示而不换行 以便用户可以水平滚动来查看它 我遇到的问题是 即使启用了水平滚动 文本也会以 iPhone 屏幕的宽度换行 即 3
  • android 4.4.X:taskAffinity 和 launchmode 与 Activity 生命周期

    我开发了一个简单的应用程序 它演示了我注意到的 Android 4 4 X 设备上的一些奇怪行为 假设我想要有 2 个 主要 活动 其中第一个活动每次恢复时都会说 Hello 通过启动 HelloActivity 而第二个活动则有andro
  • 调整 JButton 中 ImageIcon 的大小

    我正在创建一个包含特定 ImageIcon 的 JButton 主要问题是原始图标尺寸比按钮尺寸大得多 结果当按钮显示时 只能看到部分图标 调整 ImageIcon 大小以使其适合 JButton 的方法是什么 Image img icon
  • 无法更改开关颜色

    我正在寻找仅将这种颜色应用于所有开关 但默认情况下 它正在采取colorAccent而不是这个主题进行切换 装置 棉花糖 layout
  • Git:停止 git 推送

    我正在将一个大文件推送到 git 但连接速度非常慢 终止此推送 推送中 并在连接更好时恢复它的最安全方法是什么 Killing the client Ctrl C or any other method won t cause the da
  • 无法批量分配受保护的属性:tags_attributes?

    我正在尝试按照以下方式为帖子创建标签导轨指南 http guides rubyonrails org getting started html tag rb class Tag lt ActiveRecord Base attr acces
  • 如何检查Python应用程序是否在AWS lambda函数中运行?

    我有一个连接到数据库的 Python 应用程序 我希望数据库凭据在本地环境 用于测试 或 lambda 函数 用于生产 中运行时有所不同 有什么方法可以从 Python 应用程序检测它是否在 lambda 函数内运行 编辑2 感谢 Mark