AWS Lambda函数是不堪设想的! 它们是托管在亚马逊网络服务上的函数,能够以许多不同的形式触发。
其中最好的局部是,您只需为Lambda函数运行的工夫付费。有什么货色一小时才运行一次,而且只须要2秒钟?您每天只需领取48秒的费用! 这与运行一个24/7的AWS EC2实例或你本人的公有服务器相比,几乎太疯狂了。
明天咱们将创立一个Lambda函数,并看看应用代码的三种最佳形式。
创立一个Lambda函数
一旦你设置好了AWS账户,有几种办法能够创立一个新的Lambda函数。咱们将应用 AWS Console。
AWS 控制台
在AWS控制台中,你能够在服务下找到AWS Lambda,它能够带你进入Lambda控制台。
如果这是您的第一个Lambda函数,您将看到的就是这个。点击创立一个函数按钮,开始设置您的第一个函数。
您将最终进入设置页面,在这里您能够配置函数的一些方面(名称、运行时、角色)。你能够从Blueprints或Serverless Application Repos中创立一个Lambda,但在这个例子中,咱们将从头开始Author它。
输出你的函数名称(这必须是你的用户或子账户的惟一名称),抉择你的Runtime(咱们将应用Node.js 8.10),并抉择一个角色。
如果你还没有,你必须创立一个新的角色。从模板中创立一个,你能够让政策模板空白。
编写你的Lambda函数代码
应用Lambdas的一大劣势是,你能够抉择如何编写和编辑它们。有三种次要形式能够做到这一点
- Lambda控制台
- Cloud9
- 在你的本地机器上
我将介绍这三种办法,并探讨它们各自的优缺点。
办法一:Lambda控制台
这是你创立函数时被发送到的屏幕。你会看到有很多货色在进行。咱们当初关怀的是函数代码局部,大概在一半处。
在这里咱们有一个根本的编辑器。我置信它是基于Cloud 9 IDE的,对于简略的Lambda函数来说十分好用。你能够看到上面的处理程序是一个异步函数,因为我抉择应用Node 8.10。如果您喜爱回调,那么Node 6.10就是您的运行时。
劣势
- 这是一个不错的编辑器。
- 你能够通过AWS控制台从任何计算机拜访它。
毛病
- 它仿佛不是100%稳固。有时它不容许你保留,所以你必须将你所有的工作复制到本地文件,从新加载页面,而后将你的工作复制回来。我心愿这个问题能尽快失去解决
- 它没有一个终端。这意味着你不能独自应用这种办法应用NPM安装包。
办法二:Cloud9编辑器
亚马逊最近收买了一个在线开发平台Cloud9。它仿佛运行一个十分根本的Ubuntu版本,与AWS平台的其余局部集成在一起。
在AWS控制台中搜寻Cloud9,进入页面并抉择Create environment_._从这里你给你的环境起个名字,而后进入下一步。
在这里,你能够抉择你想在什么上运行这个环境。最棒的是,t2.micro是收费层的,所以如果你是收费层,你能够应用这个办法而不被收取任何费用。我素来没有须要比t2.micro更弱小的货色。
从这里持续往前走,你将最终进入你的新Cloud9环境!
最酷的是,您能够从Cloud9环境外部拜访您的所有Lambda函数。点击AWS资源,在近程函数下,您会发现您所有的函数。点击您要编辑的Lambda函数,而后点击下面的下载图标,将其导入到您的环境中。
实现后,就像你在本地工作一样。
一旦你实现了,只需从本地列表中抉择你始终在做的性能,而后点击上传按钮。在几秒钟内,它就会带着你所有的批改上线。
劣势
- 同样,这是所有的近程,所以你不须要放心遗记提交你的工作,或保留到记忆棒,如果你在多台机器上工作。
- 获取你的函数并上传它们是超级简略的。这是目前这种办法最棒的一点。
- 你当初有了一个集成的终端,容许你装置npm包,并应用终端做其余所有你想做的事件。
毛病
- 它依然存在Lambda编辑器一样的稳定性问题。我曾多次想保留函数,但无奈保留,只能复制到本地,刷新,再从新复制到云9。几次之后,我放弃了,转到本地编辑。
办法3:本地编辑
这个我就不一样了,我会把优缺点列出来,而后通知你如何让它变得更好。
劣势
- 本地编辑是大多数开发者的工作形式。咱们能够应用咱们最喜爱的IDE,扩大和色彩计划。
- 它是稳固的(只有你的电脑是稳固的)。
毛病
- 没有花哨的按钮来获取和上传你的作品到AWS。
- 你的作品是本地的,所以有多个用户或只是在多个设施上工作是比较复杂的。
本地编辑技巧
因为这种办法的长处是如此吸引人(或者说其余办法的毛病是如此骇人听闻),咱们将利用一些根本的变通方法。设置咱们须要的所有货色应该须要15分钟左右!
AWS CLI
要将咱们的工作上传到AWS,咱们能够应用AWS CLI。这容许咱们将一个压缩文件上传到咱们的AWS帐户,填充给定的Lambda。
要做到这一点,咱们首先须要设置AWS CLI。你能够应用本教程或在终端中输出npm install -g aws-cli
来装置它。当初,咱们须要为咱们的CLI设置一个用户,以便作为用户登录。
在IAM治理中,点击增加用户_,_给用户起个名字,而后抉择程序拜访_._这将容许咱们近程充当用户。
在权限界面,抉择间接附加现有策略,而后抉择AdministatorAccess_._这将让你通过CLI做任何你想做的事件。如果你想的话,你能够对这个用户设置更严格的策略,或者如果这是给其他人拜访的。
在你最终被显示你的拜访密钥之前,还有一个屏幕。复制你的拜访密钥,关上一个终端。运行命令aws configure
,它会要求你提供4个货色。
AWS拜访密钥ID【无】。"你的拜访密钥ID"
AWS机密拜访密钥【无】。"您的机密拜访密钥"
默认区域名称[eu-west-1]。
默认输入格局[json]。
前两个在用户创立的最初一页找到,前面两个能够留为默认,或者改成任何你想要的格局。
应用AWS CLI
当初咱们曾经设置好了CLI,咱们能够用它来让咱们的生存变得更简略。如果你有一个文件夹,外面存储了一个Lambda函数,咱们能够运行一些简略的命令将其上传到AWS。
cd MyLambdaFunction
rm index.zip
zip -X -r ./index.zip *。
aws lambda update-function-code(更新性能代码)
--function-name MyLambdaFunction(函数名称)。 --zip-file fileb://index.zip
cd .
AWS CLI构建脚本
这是很好的,然而每次你想上传一个新的Lambda版本的时候,把这些都打进去会变得很烦。所以咱们将应用一个构建脚本。
为了让这个脚本工作,你须要有一个这样的文件夹构造。每个Lambda都有一个文件夹,外面有相干的文件和一个region.txt文件。
这个脚本不仅运行根本的AWS CLI命令,而且还做额定的查看,运行npm install
,并回传出进度的细节。
这可能看起来像一个简单的脚本,但它能够很容易地被合成。前32行挪动到Lambda函数的文件夹中,运行npm install
并查看AWS CLI是否已装置。第38行对文件夹进行压缩,除了某些文件,第42行上传压缩文件。
当初你须要做的就是导航到Lambdas函数所在的主文件夹,而后运行 "npm install"。
./build.sh example-lambda
这个脚本能够被批改和扩大到包含特定区域的上传,批量上传多个Lambda函数或Git集成。
Git
读到这篇文章的大多数人都会在日常应用Git。这是有起因的:它让生存更简略。
为您的所有 Lambda 函数建设一个 Git 仓库,是您与开发团队单干或单独在多台机器上工作的好办法。
总结
常见的编辑Lambda函数的办法有三种:在Lambda控制台、云9和本地。
这三种办法各有优缺点,但我集体认为最好的抉择是在本地编写函数并应用部署脚本进行部署。
如果你感觉这篇文章有用,那就给它一些掌声,并关注我,获取更多AWS教程和开发者文章!