如何使用 Serverless 新建 Lambda 函数

阅读时长 5 分钟读完

本文将介绍 Serverless 平台下如何新建 Lambda 函数,在文章过程中详细阐述了 Serverless的概念和组成部分,以及如何使用 Serverless CLI 在本地开发和测试 Lambda 函数,以及部署 Lambda 函数到云端。

什么是 Serverless

Serverless 最初被认为是一种基于 Function-as-a-Service(FaaS)的云计算模型,随着时间的推移,逐渐演变为一种更为广义的概念:不再需要管理和维护服务器或虚拟机等底层基础设施,而是专注于开发业务逻辑和功能,以事件驱动、自动缩放、微服务化的方式,实现真正的无服务器架构。

Serverless 架构的核心是事件-响应模式(Event-driven) ,它基于事件的产生调用对应的函数(Function) ,分布式的运行在云端,能够根据实际负载自动伸缩,从而具备高可用、弹性伸缩、低成本的优势,完成云服务中最后的一公里。

在 Serverless 架构中,AWS Lambda 是最具代表性的一个服务,但除了 AWS Lambda 之外,还有 Google Cloud Functions、Azure Functions、Alibaba Cloud Function Compute 等。Serverless 架构不仅仅限于 Amazon Web Services(AWS)。

Serverless 组成部分

在 Serverless 架构中,有以下几个核心部分:

  • Functions:函数和事件处理逻辑
  • Triggers:触发函数的事件来源
  • Services:函数的容器和配置
  • APIs:定义 API 的 HTTP 端点
  • Auth:定义访问 API 的权限
  • Add-ons:扩展实现其它功能

它们的关系如下图所示:

在使用 Serverless 进行开发时,不用再考虑底层基础设施(例如云服务器),而是专注于编写 Lambda 函数,配置函数的触发器、运行环境、内存大小等,服务器的运营和维护由云服务提供商来处理。

Serverless CLI

Serverless CLI 是 Serverless Framework 的命令行工具,可以让开发者本地开发和调试 Lambda 函数,并将 Lambda 函数部署到云端。

安装 Serverless CLI

  1. 安装 Node.js
  2. 在终端输入以下命令安装 Serverless CLI:
  1. 安装完毕后,可以通过以下命令检验 CLI 是否安装成功:

创建 Serverless 项目

  1. 在命令行终端中输入以下命令:

这将使用 'aws-nodejs' 模板创建一个新的 Serverless 项目,并将其保存到名称为 'lambda-demo' 的目录中。

  1. 进入项目目录:
  1. 使用以下命令部署 Lambda 函数到云端:

本地开发和测试

  1. 在项目目录中打开 handler.js 文件,编辑该文件以创建 Lambda 函数。
  1. 使用以下命令在本地启动 Lambda 函数:
  1. 该命令调用本地函数并返回输出。输出应如下所示:

部署 Lambda 函数到云端

使用以下命令部署 Lambda 函数到云端:

将在 AWS Lambda 上创建一个新的函数,并将其代码部署到 Lambda 函数。如果 Lambda 函数已经创建,可以使用以下命令进行更新:

示例代码

下面是一个使用 Serverless 构建的 Lambda 函数示例代码:

在本示例中,hello Lambda 函数将返回一个 HTTP 200 响应和 "Hello, World!"。这是一个非常基础的 Lambda 函数,但实际项目中,可能会涉及查询数据库、处理文件上传和下载、发送邮件等功能,完全取决于业务需求。

总结

本文介绍了 Serverless 技术的组成部分、如何使用 Serverless CLI 进行本地开发和测试 Lambda 函数,以及如何部署 Lambda 函数到云端。开发者可以通过 Serverless 构建高可用、弹性伸缩、低成本的云应用系统。

本文仅作为入门指南,更深入的 Serverless 技术介绍将在后续的文章中更新。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6454a62c968c7c53b0875f07

纠错
反馈