使用 AWS Lambda 中的新环境变量支持,我通过 webui 为我的函数添加了一个环境变量。
我如何从 Python 访问它?我试过:
import os
MY_ENV_VAR = os.environ['MY_ENV_VAR']
但是我的函数停止工作(如果我硬编码 MY_ENV_VAR
它工作正常)。
原文由 keybits 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 AWS Lambda 中的新环境变量支持,我通过 webui 为我的函数添加了一个环境变量。
我如何从 Python 访问它?我试过:
import os
MY_ENV_VAR = os.environ['MY_ENV_VAR']
但是我的函数停止工作(如果我硬编码 MY_ENV_VAR
它工作正常)。
原文由 keybits 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.3k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答960 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
可以使用 AWS 控制台、CLI 或 SDK 定义 AWS Lambda 环境变量。这是您使用 AWS CLI 定义使用 LD_LIBRARY_PATH 环境变量的 AWS Lambda 的方式:
创建后,可以使用您的语言为访问环境提供的支持来读取环境变量,例如,使用 process.env for Node.js。使用 Python 时,您需要导入 os 库,如以下示例所示:
资源链接:
AWS Lambda 现在支持环境变量
假设您已经在设置模块旁边创建了 .env 文件。
将以下代码添加到您的 settings.py
或者,您可以使用 find_dotenv() 方法,该方法将通过 (a) 猜测从哪里开始使用 文件 或工作目录来尝试查找 .env 文件——允许它在非文件上下文中工作,例如 IPython 笔记本和 REPL ,然后 (b) 在目录树中查找指定的文件——默认称为 .env。
现在, 您可以从系统环境变量或从 .env 文件加载变量。
资源链接:
https://github.com/theskumar/python-dotenv
gepoggio 在这篇文章中回答: https ://github.com/serverless/serverless/issues/577#issuecomment-192781002