开始使用 AWS
构建基本 Web 应用程序
部署 Web 应用程序并添加与 API 和数据库的交互
模块 2:构建无服务器函数
在此模块中,我们将使用 AWS Lambda 构建无服务器函数。
简介
在此模块中,您将在 Python、JavaScript 或 Java 中编写一小段代码,以在后面的模块中用于将交互添加到网页中。您将使用 AWS Lambda 服务,该服务是一项计算服务,可使我们创建无服务器函数。(“无服务器函数”消除了开发人员进行软件和硬件管理的需要。反之,应用程序将分为各个函数,可以分别调用和扩展。)
这些无服务器函数基于您将在代码中定义的特定事件触发。它还是一个非常经济实惠的服务,因为您只需为处理的事件数量付费,而无需为闲置时间付费。最重要的是,您必须再担心管理任何服务器!
您将学到的内容
- 使用 AWS 控制台(用 Python、JavaScript 或 Java)从头开始创建 Lambda 函数
- 在 AWS 控制台中创建 (JSON) 事件以测试函数
重要概念
计算服务提供计算处理能力的服务。
无服务器函数将由计算服务按需执行的代码段。
Lambda 触发器将进行 Lambda(无服务器)函数运行的事件类型。它可以是另一个 AWS 服务或外部输入。
完成时间
5 分钟
使用的服务
实施
-
创建您的 Lambda 函数并进行配置
-
Python
-
JavaScript
-
Java
-
Python
-
- 在新的浏览器选项卡中,登录 AWS Lambda 控制台。
- 确保注意到您创建函数时处于哪个区域。您可以在页面最顶部您的账户名称旁看到此信息。
- 单击橙色的“创建函数”按钮。
- 在“函数名称”下,键入 HelloWorldFunction。
- 从运行时下拉列表中选择 Python 3.8。
6.单击橙色的“创建函数”按钮。
7.您应看到屏幕顶部有一个绿色的框,其中显示以下消息“已成功创建函数”。
8.使用以下代码替换“函数代码”下的代码:
# import the JSON utility package since we will be working with a JSON object import json # define the handler function that the Lambda service will use an entry point def lambda_handler(event, context): # extract values from the event object we got from the Lambda service name = event['firstName'] +' '+ event['lastName'] # return a properly formatted JSON object return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda, ' + name) }
9.单击屏幕顶部的橙色“保存”按钮。
10.我们来测试新函数。单击屏幕顶部的“选择测试事件”。
11.从该下拉菜单中,点击“配置测试事件”。
12.在“事件名称”中,键入 HelloWorldTestEvent。
13.复制并粘贴以下 JSON 对象,以替换默认对象:
{ "firstName": "Ada", "lastName": "Lovelace" }
14.单击页面底部的橙色“创建”按钮。
-
JavaScript
-
- 在新的浏览器选项卡中,登录 AWS Lambda 控制台。
- 确保注意到您创建函数时处于哪个区域。您可以在页面最顶部您的账户名称旁看到此信息。
- 单击橙色的“创建函数”按钮。
- 在“函数名称”下,键入 HelloWorldFunction。
- 从运行时下拉列表中选择 Node.js 12.x。
6.单击橙色的“创建函数”按钮。
7.您应看到屏幕顶部有一个绿色的框,其中显示以下消息“已成功创建函数”。
8.使用以下代码替换“函数代码”下的代码:
// Define handler function, the entry point to our code for the Lambda service // We receive the object that triggers the function as a parameter exports.handler = async (event) => { // Extract values from event and format as strings let name = JSON.stringify(`Hello from Lambda, ${event.firstName} ${event.lastName}`); // Create a JSON object with our response and store it in a constant const response = { statusCode: 200, body: name }; // Return the response constant return response; };
9.单击屏幕顶部的橙色“保存”按钮。
10.我们来测试新函数。单击屏幕顶部的“选择测试事件”。
11.从该下拉菜单中,点击“配置测试事件”。
12.在“事件名称”中,键入 HelloWorldTestEvent。
13.复制并粘贴以下 JSON 对象,以替换默认对象:
{ "firstName": "Ada", "lastName": "Lovelace" }
14.单击页面底部的橙色“创建”按钮。
-
Java
-
- 在新的浏览器选项卡中,登录 AWS Lambda 控制台。
- 确保注意到您创建函数时处于哪个区域。您可以在页面最顶部您的账户名称旁看到此信息。
- 单击橙色的“创建函数”按钮。
- 在“函数名称”下,键入 HelloWorldFunction。
- 从 运行时下拉列表中选择 Java 11。
6.单击橙色的“创建函数”按钮。
7.您应看到屏幕顶部有一个绿色的框,其中显示以下消息“已成功创建函数”。
8.您现在已使用名为 Hello 的句柄类创建 Lambda 函数。由于 Java 是编译语言,您无法在 Lambda 控制台中查看或编辑源代码,但您可以修改其配置、调用它并配置触发器。
9.要更新函数的代码,您需要创建部署程序包,它是包含您的函数代码的 JAR 文件或 ZIP 存档。在此教程中,我们为 JAR 文件提供了更新的函数代码,以便在此使用。
10.转至“函数代码”并更新 JAR 文件。
11.将“句柄”更新到 com.example.app.LambdaRequestHandler::handleRequest。
12.单击屏幕顶部的橙色“保存”按钮。
13.我们来测试新函数。单击屏幕顶部的“选择测试事件”。
14.从该下拉菜单中,点击“配置测试事件”。
15.在“事件名称”中,键入 HelloWorldTestEvent。
16.复制并粘贴以下 JSON 对象,以替换默认对象:
{ "firstName": "Ada", "lastName": "Lovelace" }
17.单击页面底部的橙色“创建”按钮。
-
-
测试 Lambda 函数
- 单击页面顶部的灰色“测试”按钮。
- 您应在页面顶部看到一个浅绿色框,其中显示以下文本:“执行结果:成功”。 您可以单击“详细信息”以查看函数返回的事件。
- 做得好! 现在您已经有运行中的 Lambda 函数。