当前位置: 首页 > 后端技术 > Node.js

AWSLambda函数是神奇的

时间:2023-04-04 01:17:28 Node.js

AWSLambda函数是神奇的!它们是托管在AmazonWebServices上的函数,可以通过多种不同方式触发。最好的部分是您只需为Lambda函数运行的时间付费。有什么东西每小时只运行一次,只需要2秒吗?您每天只需支付48秒的费用!与运行24/7AWSEC2实例或您自己的私有服务器相??比,这太疯狂了。今天我们将创建一个Lambda函数,并查看使用该代码的三种最佳方式。创建Lambda函数设置AWS账户后,可以通过多种方法创建新的Lambda函数。我们将使用AWS控制台。AWS控制台在AWS控制台中,您可以在服务下找到AWSLambda,这会将您带到Lambda控制台。如果这是您的第一个Lambda函数,这就是您将看到的。单击创建函数按钮开始设置您的第一个函数。您最终会进入设置页面,您可以在其中配置函数的某些方面(名称、运行时、角色)。您可以从蓝图或无服务器应用程序存储库创建Lambda,但在本示例中,我们将从头开始编写它。输入您的函数名称(这对于您的用户或子账户来说必须是唯一的),选择您的运行时(我们将使用Node.js8.10),然后选择一个角色。如果您还没有,则必须创建一个新角色。要从模板创建一个,您可以将策略模板留空。编写您的Lambda函数代码使用Lambda的一大优势是您可以选择编写和编辑它们的方式。在本地计算机上的Lambda控制台Cloud9中,可以通过三种主要方法执行此操作,我将介绍所有这三种方法并讨论每种方法的优缺点。方法一:Lambda控制台这是您在创建函数时被发送到的屏幕。你会看到很多事情发生。我们现在关注函数代码部分,大约已经进行了一半。这里我们有一个基本的编辑器。我相信它基于Cloud9IDE,非常适合简单的Lambda函数。你可以看到下面的处理程序是一个异步函数,因为我选择使用Node8.10。如果您喜欢回调,那么Node6.10就是适合您的运行时。优点这是一个不错的编辑器。您可以通过AWS控制台从任何计算机访问它。缺点它似乎不是100%稳定的。有时它不会让您保存,因此您必须将所有工作复制到本地文件,重新加载页面,然后再将您的工作复制回来。我希望这个问题很快得到解决它没有终端。这意味着您不能单独使用此方法来使用NPM安装包。方法二:Cloud9编辑器亚马逊最近收购了在线开发平台Cloud9。它似乎正在运行与AWS平台的其余部分集成的非常基本的Ubuntu版本。在AWS控制台中搜索Cloud9,转到该页面并选择创建环境_._从这里为您的环境命名并转到下一步。在这里,您可以选择要运行此环境的对象。最重要的是,t2.micro是免费套餐,所以如果您是免费套餐,您可以使用此方法而无需支付任何费用。我从来不需要比t2.micro更强大的东西。从这里继续,您将进入新的Cloud9环境!很棒的是,您可以从Cloud9环境内部访问所有Lambda函数。单击AWS资源,在远程函数下,您将找到所有函数。单击您要编辑的Lambda函数,然后单击上方的下载图标将其导入到您的环境中。完成后,就好像您在本地工作一样。完成后,只需从本地列表中选择您一直在处理的功能,然后点击上传按钮。几秒钟后,它就会随着您的所有更改而生效。优势同样,这一切都是远程的,所以您不必担心忘记提交您的工作,或者如果您在多台机器上工作,则不必担心忘记保存到记忆棒。获取您的函数并上传它们非常容易。到目前为止,这是此方法中最好的部分。您现在拥有一个集成终端,允许您安装npm包并使用终端执行您想要的所有其他操作。不利的一面是,它仍然存在与Lambda编辑器相同的稳定性问题。多次尝试保存功能,都保存不了,只能复制到本地,刷新,再次复制到cloud9。几次之后,我放弃了,转向本地编辑。方法三:本地编辑这对我来说不一样,我会列出优点和缺点,然后告诉你如何让它变得更好。优势本地编辑是大多数开发人员的工作方式。我们可以使用我们最喜欢的IDE、扩展和配色方案。它很稳定(只要您的计算机稳定)。缺点没有花哨的按钮来获取您的创作并将其上传到AWS。您的工作是本地的,因此拥有多个用户或仅在多个设备上工作会稍微复杂一些。本地编辑技巧因为这种方法的优点如此引人注目(或者其他方法的缺点如此惊人),我们将利用一些基本的变通方法。设置我们需要的一切大约需要15分钟!AWSCLI要将我们的作业上传到AWS,我们可以使用AWSCLI。这允许我们将压缩文件上传到我们的AWS账户,填充给定的Lambda。为此,我们首先需要设置AWSCLI。您可以使用本教程或在终端中键入npminstall-gaws-cli来安装它。现在,我们需要为我们的CLI设置一个用户登录。在IAM管理中,单击添加用户_,_为用户命名,然后选择编程访问_._这将使我们能够远程充当用户。在权限屏幕上,选择直接附加现有策略,然后选择AdministratorAccess_._这将允许您通过CLI执行任何您想做的事情。如果需要,您可以对此用户设置更严格的策略,或者如果这是供其他人访问的。在您最终看到您的访问密钥之前还有一个屏幕。复制您的访问密钥并打开终端。运行命令awsconfigure,它会询问您4件事。AWS访问密钥ID[无]。“您的访问密钥ID”AWS秘密访问密钥[无]。“您的秘密访问密钥”默认区域名称[eu-west-1]。默认输出格式[json]。前两个在用户创建的最后一个页面上找到,后两个可以保留为默认值,或更改为您想要的任何格式。使用AWSCLI现在我们已经设置了CLI,我们可以使用它来让我们的生活更轻松。如果您的文件夹中存储了Lambda函数,我们可以运行一些简单的命令将其上传到AWS。cdMyLambdaFunctionrmindex.zipzip-X-r./index.zip*.awslambdaupdate-function-code(更新函数代码)--function-nameMyLambdaFunction(函数名)。--zip-filefileb://index.zipcd.AWSCLIbuildscript这很好,但是每次你想上传一个新的Lambda构建时输入这个很烦人。所以我们将使用构建脚本。为了让这个脚本工作,你需要有一个像这样的文件夹结构。每个Lambda都有一个包含相关文件的文件夹和一个region.txt文件。该脚本不仅运行基本的AWSCLI命令,还执行额外的检查、运行npminstall并发回进度详细信息。这似乎是一个复杂的脚本,但它很容易分解。前32行移至Lambda函数的文件夹,运行npminstall并检查是否安装了AWSCLI。第38行压缩文件夹,某些文件除外,第42行上传压缩文件。现在您需要做的就是导航到您的Lambdas函数所在的主文件夹,然后运行“npminstall”。./build.shexample-lambda可以修改和扩展此脚本以包括特定于区域的上传、多个Lambda函数的批量上传或Git集成。Git大多数阅读本文的人每天都使用Git。这是有原因的:它让生活更轻松。拥有一个用于所有Lambda函数的Git存储库是与您的开发团队协作或在多台机器上单独工作的好方法。小结Lambda函数的编辑方式有3种:Lambda控制台、云端9、本地。这三种方法各有利弊,但我个人认为最好的选择是在本地编写函数并使用部署脚本进行部署。如果您觉得本文有用,请给它一个掌声,并关注我以获取更多AWS教程和开发人员文章!