AWS Lambda读取作为源代码上传的zip文件的内容

斯科特·德克

我有两个文件:

MyLambdaFunction.py

config.json

我将这两个压缩在一起以创建MyLambdaFunction.zip然后,我通过AWS控制台将其上传到我的lambda函数。

config.json的内容是各种环境变量。我需要一种在每次运行lambda函数时读取文件内容的方法,然后使用其中的数据来设置运行时变量。

如何获取Python Lambda函数以读取config.json文件的内容,该文件已与源代码一起上传到zip文件中?

斯科特·德克

通过@helloV向正确的方向推算出来。

在python文件的顶部放置“ import os”

在函数处理程序中放入以下内容:

configPath = os.environ['LAMBDA_TASK_ROOT'] + "/config.json"
print("Looking for config.json at " + configPath)
configContents = open(configPath).read()
configJson = json.loads(configContents)
environment = configJson['environment']
print("Environment: " + environment)

逐行在那儿执行以下操作:

  • 获取config.json文件的存储路径
  • 打印该路径以在CloudWatch日志中查看
  • 打开该路径下存储的文件,读取内容
  • 将内容加载到json对象以便于导航
  • 获取json中存储的变量之一的值
  • 打印该内容以在CloudWatch日志中查看

这是config.json的样子:

{
    "environment":"dev"
}

编辑AWS lambda现在支持直接在控制台UI中使用环境变量。因此,如果您的用例与我的用例相同(即用于配置文件),则不再需要配置文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章