13 开始使用 Serverless 架构之创建第一个 Serverless 函数
在上一篇中,我们讨论了如何设置开发环境以便于使用 Serverless 架构。在本篇中,我们将学习如何创建我们的第一个 Serverless 函数。这个过程将涉及到使用 Serverless Framework
,它是一个广泛使用的工具,可以帮助我们简化 Serverless 应用程序的构建、部署和管理。
创建你的第一个 Serverless 函数
第一步:初始化 Serverless 项目
首先,确保你的开发环境已正确设置,包含了 Node.js
和 Serverless Framework
。如果你还没有安装 Serverless Framework
,可以通过以下命令进行安装:
1 | npm install -g serverless |
接下来,使用以下命令创建一个新的 Serverless 项目:
1 | serverless create --template aws-nodejs --path my-service |
这里我们使用 aws-nodejs
模板,意思是我们将要创建一个基于 AWS Lambda 的 Node.js 服务,my-service
是项目的文件夹名称。
第二步:理解结构
进入到项目目录中:
1 | cd my-service |
你会发现项目中生成了一些文件,其中最重要的文件是 serverless.yml
。这个文件是配置文件,定义了你的 Serverless 服务的基本信息,包括:
- 服务名称
- 使用的云提供商
- 函数的定义
- 事件触发器等
第三步:编写你的函数
在 my-service
文件夹中找到 handler.js
文件。这个文件是我们编写 Lambda 函数的地方。默认情况下,会有一个 hello
函数在这里。我们可以稍微修改这个函数,让它返回一些自定义的信息。
将 handler.js
内容替换为:
1 | ; |
在这个函数中,我们定义了 hello
函数,每当这个函数被调用时,将返回一个 HTTP 状态码 200
和一条消息。
第四步:配置函数和事件
接下来,我们需要在 serverless.yml
文件中配置我们的函数,使其能够通过 HTTP 请求触发。打开 serverless.yml
文件并找到 functions
部分,修改为如下内容:
1 | functions: |
在这里,我们定义了函数的处理程序(handler: handler.hello
),并设置了一个 HTTP 事件,当我们通过 GET 请求访问 /hello
路径时,将会触发这个函数。
第五步:测试本地函数
在我们部署函数之前,可以先在本地测试这个函数。使用以下命令可以在本地模拟 Lambda 函数的执行:
1 | serverless invoke local --function hello |
你应该会看到类似如下的输出:
1 | { |
这表示我们的函数已成功被执行,并返回了预期的响应。
第六步:准备部署
在部署之前,我们可以通过以下命令检查配置是否正确:
1 | serverless print |
这个命令将显示当前的服务配置,帮助我们确认一切都正常。
总结
到这里,我们已经成功创建了一个简单的 Serverless 函数,并配置了通过 HTTP 触发它的事件。你可以尝试在本地测试此函数,确保它工作正常。接下来,我们将进入部署与管理的部分,在下一篇文章中将详细讲解如何将我们的 Serverless 函数部署到 AWS 云上并进行管理。
如需更深入了解,请查看官方文档:Serverless Framework Documentation。
13 开始使用 Serverless 架构之创建第一个 Serverless 函数