共计 996 个字符,预计需要花费 3 分钟才能阅读完成。
AWS 最近为 AWS Lambda 增加了一项功能,允许定义变量来实现代码运行环境的个性化。按照 AWS 首席布道师 Jeff Barr 的说法,这样能够让我们编写出整洁和可重用的代码,无需进行重新部署。
借助环境变量,能够让我们的函数在不同的环境中所执行的行为有所差异,这个过程中不需要改变它的实现。典型的使用场景就是为特定的生命周期阶段采用不同的函数行为,比如开发阶段、测试阶段或生产阶段,每个阶段可能会使用各自的数据库或使用不同的连接凭证。
AWS Lambda 环境变量可以使用 AWS Console、CLI 或 SDK 来进行定义。如下展现了如何使用 AWS CLI 定义 AWS Lambda,在这个过程中用到了一个 LD_LIBRARY_PATH
环境变量:
aws lambda create-function \
--region us-east-1
--function-name myTestFunction
--zip-file fileb://path/package.zip
--role role-arn
--environment Variables={LD_LIBRARY_PATH=/usr/bin/test/lib64}
--handler index.handler
--runtime nodejs4.3
--profile default
环境变量在创建之后,就可以使用编程语言所支持的方式来访问环境信息,比如在 Node.js 中使用 process.env
。当使用 Python 的时候,我们需要导入os
库,如下面的样例所示:
...
import os
...
print("environment variable:" + os.environ['variable'])
环境变量就是一些键 / 值对,如果需要的话,可以进行加密和解密。它们会关联到所属的 Lambda 的一个给定版本上,在 Lambda 发布之前,它们可以自由地进行修改。但是一旦 lambda 版本发布,那么它的环境变量就变成不可变的了。将 Lambda 回滚至任意版本的时候,它的环境变量也会恢复。在数量上,Lambda 函数可以关联多少环境变量并没有限制,只要它们的总大小不超过 4KB 就可以。
查看英文原文:AWS Lambda Now Supports Environment Variables
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137632.htm