写点什么

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

  • 2016-11-28
  • 本文字数:731 字

    阅读完需:约 2 分钟

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

2016-11-28 18:002345

评论

发布
暂无评论
发现更多内容

阿里云数据库PolarDB开源人才培养计划发布!万元好礼等你来拿!

阿里云数据库开源

数据库 阿里云 开源 认证 polarDB

什么是Shell?从小白到入门你只差一个它

Albert Edison

Linux centos 运维 shell脚本编程 8月月更

Unity Metaverse(四)、接入环信IM SDK 实现用户登录注册

CoderZ

Unity 登录验证 环信im 8月月更

SRv6故障管理

穿过生命散发芬芳

8月月更 SRv6

抖音开启“818发现好物节”:电商平台造节活动何时休

石头IT视角

开源一夏 | RuntimeException 子类

六月的雨在InfoQ

开源 8月月更

Netty入门 -- 什么是Netty?

Bug终结者

Netty 8月月更

Go-Excelize API源码阅读(四)——Save()

Regan Yue

Go 开源 源码刨析 8月日更 8月月更

【高并发】别闹了,要实现亿级流量下的分布式限流,这些算法你必须掌握!!

冰河

并发编程 多线程 高并发 协程 异步编程

经验分享|低成本快节奏搭建企业知识管理系统的方法

Baklib

借问变量何处存,牧童笑称用指针,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang类型指针(Pointer)的使用EP05

刘悦的技术博客

入门 教程 Go web 教程分享 入门介绍

低代码实现探索(四十七)低的不止前端,还有后端

零道云-混合式低代码平台

深度解读 | 关于SBOM最基础元素,你需要知道的(Part I)

安势信息

开源 漏洞 SCA SBOM 最基础元素

openEuler 资源利用率提升之道02:典型应用下的效果

openEuler

开源 数据 cpu 操作系统 openEuler

分门别类输入输出,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本数据类型和输入输出EP03

刘悦的技术博客

golang 编程 教程 教程分享 golang 面试

头脑风暴:打家劫舍2

HelloWorld杰少

算法 LeetCode 动态规划 8月月更

舔狗至高境界,学会这个技巧让你从舔狗升华到海王【Python趣味爬虫】

Geek_ac6fb9

后端

开源一夏 | jQuery对于链和捕获的实战研究

恒山其若陋兮

开源 8月月更

文档管理系统对于企业来说有哪些作用?

Baklib

MySQL权限管理

武师叔

8月月更

如何让您的wiki内容更高级?

Geek_da0866

开源一夏 | 基于 Serverless一键体验FastAPI

六月的雨在InfoQ

阿里云 开源 Serverless FC 8月月更

LeaRun模型驱动开发框架 重塑企业生产力

力软低代码开发平台

Linux下Docker安装部署以及云原生的理解

Geek_acae888666

云原生 Docker 镜像

Spring Cloud Stream 消息发送

急需上岸的小谢

8月月更

培训预告 | 企业应用现代化实用教程——DevOps方法论及最佳实践篇 8月11日上线

York

DevOps 云原生 团队建设 降本增效 应用现代化

超人飞来!Flutter 实现满屏的力量感动画!

岛上码农

flutter ios 移动端开发 安卓开发 8月月更

直播 | 服务餐饮商户年交易额超 7000 亿,哗啦啦如何用 StarRocks 搞定实时报表

StarRocks

数据库

企业进行知识共享的好处有哪些?

Geek_da0866

兼容并蓄广纳百川,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang复合容器类型的声明和使用EP04

刘悦的技术博客

golang go doc 教程 教程分享 golang 面试

微服务架构的核心关键点

阿泽🧸

微服务架构 8月月更

AWS Lambda目前已经支持环境变量_语言 & 开发_Sergio De Simone_InfoQ精选文章