BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

AWS Lambda目前已经支持环境变量

| 作者 Sergio De Simone 关注 17 他的粉丝 ,译者 张卫滨 关注 13 他的粉丝 发布于 2016年11月29日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT