使用Node.js和AWS lambda构建无服务器应用程序
#aws #serverless #lambda #node

使用Node.js和AWS lambda构建无服务器应用程序

您是否正在寻找一种创建和部署无服务器Node.js应用程序的快速简便的方法?别再看!由于其可伸缩性,快速处理大型工作负载的能力以及节省成本,因此无服务器应用程序变得越来越受欢迎。使用无服务器应用程序,您可以专注于编写代码和部署应用程序,而不是管理和配置服务器。在本文中,我们将介绍如何使用node.js和aws lambda构建无服务器应用程序。

为了充分利用本教程,您应该先前使用JavaScript,Node.js和Amazon Web Services(AWS)工作。我们将详细介绍以下主题:

  • 无服务器体系结构的概述
  • 设置AWS帐户
  • 创建AWS lambda函数
  • 用node.js编写快递服务器
  • 部署应用程序

无服务器体系结构的概述

一词无服务器体系结构具有误导性,因为作为开发人员,您仍在与服务器合作。这里的关键是,您不必成为负责管理服务器的人。 AWS Lambda之类的无服务器平台为您服务服务器的配置和扩展。

无服务器体系结构由三个主要组件组成:

  • aws lambda函数: lambda函数是用支持的语言(node.js,java,python等)编写的一件代码。或事件发生时执行。

  • 事件:事件是触发lambda函数的事件,例如用户请求访问网页或添加到数据库中的数据。

  • 云基础结构:云基础结构是无服务器体系结构的核心。该组件可以是任何云服务提供商,例如AWS,Microsoft Azure或Google Cloud。

设置AWS帐户

在创建和部署lambda函数之前,您需要创建一个AWS帐户。为此,请前往AWS website并注册一个帐户。完成注册过程后,您将要求配置您的帐户。您可以将所有默认设置作为IS,然后单击“继续”。

设置帐户后,您将被要求输入您的信用卡信息。不用担心 - AWS Lambda每月最多可免费提供100万个请求。如果您保持自由层限制,您将不收取任何费用。

一旦您输入了信用卡信息,就可以开始使用AWS平台了。

创建AWS lambda功能

现在您创建了AWS帐户,您就可以创建一个lambda功能了!为此,请导航到AWS管理控制台。在左侧,您应该看到列出的各种服务。选择lambdaâ,然后单击创建功能。

在下一页上,您将被要求选择一个蓝图。蓝图本质上是用特定语言编写的基本lambda函数的模板。对于本教程,我们将选择用Node.js编写的Hello World蓝图。给您的函数一个名称(我们将称其为“无服务器应用”),然后单击创建函数。

您现在应该能够看到新创建的lambda功能的代码。此代码只是将“ Hello World”打印到控制台。随时探索代码,并更好地了解lambda功能的工作方式。

用node.js编写快递服务器

现在我们创建了lambda函数,我们可以开始为无服务器应用程序编写代码。对于此应用程序,我们将使用流行的Express web framework进行node.js。

Express是一个最小且灵活的Node.js Web应用程序框架,为开发Web和移动应用程序提供了一组强大的功能。它具有简单的API,设计用于易用性,并且是最受欢迎的Node.js Web框架。

让我们从创建Express Server开始。创建一个名为server.js的新文件并添加以下代码:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  // Send a response here
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

上面的代码创建了Express服务器的实例,并为/路径设置了路由。当向/路径提出请求时,将调用GET处理程序功能。

部署应用程序

现在我们为无服务器应用程序创建了代码,我们可以将其部署到云中。为此,我们需要将代码上传到AWS Lambda。在AWS管理控制台中,选择“无服务器应用”功能,然后单击“上传”按钮。在下一页上,您应该看到上传.zip文件的选项。将您的server.js文件上传到此字段中,然后单击“上传”按钮。

上传文件后,您可以在控制台中选择“测试”选项。这将触发lambda函数,并调用我们编写的GET处理程序功能。您应该在控制台中看到成功的响应。

就是这样!现在,您拥有在AWS Lambda上运行的功能齐全的无服务器应用程序。

结论

在本教程中,我们介绍了使用node.js和aws lambda创建无服务器应用程序的过程。我们使用Express Web框架创建了一个简单的端点,该端点是使用Lambda部署到云的。

我们仅刮擦了无服务器应用程序可能的表面。如果您想了解有关无服务器应用程序的更多信息,请查看this blog post有关Nestjs和this blog post的启动,以构建带有打字稿和Express的RESTFUL API。

使用node.js和AWS lambda构建无服务器应用程序是快速开发和部署应用程序的好方法,而不必担心服务器。希望本教程有助于您开始使用无服务器应用程序。

快乐编码!