运行无服务器的“Hello, World!”

在本教程中,您将学习不预配置或管理服务器的情况下在 Amazon Lambda 上运行代码的基础知识。我们将逐步引导您学习如何使用 Amazon Lambda 控制台创建 Hello World Lambda 函数。让我们将为您介绍如何使用示例事件数据手动调用 Lambda 函数和审核您的输出指标。

管理亚马逊云科技资源

登录控制台

单击此处时,亚马逊云科技管理控制台将在新的浏览器窗口中打开,因此您可以将本分步指南保持打开状态。 找到 Compute(计算)下面的 Lambda,然后单击以打开 Amazon Lambda 控制台。

控制台

(单击以缩放)

控制台

蓝图提供只需进行一些简单处理的示例代码。大部分蓝图都可处理来自特定事件源(例如,Amazon S3、DynamoDB 或自定义应用程序)的事件。

a.  在 Amazon Lambda 控制台中,选择 Create a Function(创建函数)

注意:
仅当您还未创建任何 Lambda 函数时,控制台才会显示此页面。如果您已创建函数,则您将看到 Lambda > Functions(Lambda > 函数)页面。在列表页面上,选择 Create a function(创建函数)以转至 Create function(创建函数)页面。

p2

(单击以缩放)

p2

b.  选择 Blueprints(蓝图)

c.  在 Filter(筛选条件)框中,键入 hello-world-python,然后选择 hello-world-python 蓝图。

d.  然后单击 Configure(配置)

p3

(单击以缩放)

p3

Lambda 函数由您提供的代码、关联的依赖项和配置组成。您提供的配置信息包括您想要分配的计算资源(例如,内存)、执行超时和 Amazon Lambda 代表您执行 Lambda 函数所担当的 IAM 角色。


a.  现在您将输入有关 Lambda 函数的 Basic Information(基本信息)

Basic Information(基本信息):
  • Name(名称):您可以在这里为 Lambda 函数命名。对于本教程,请输入 hello-world-python
  • Role(角色):您将创建一个 IAM 角色(被称为执行角色),它带有必需的权限,以便 Amazon Lambda 可以代表您调用 Lambda 函数。选择 Create new role from template(s)(基于模板创建新角色)
  • Role name(角色名称):键入 lambda_basic_execution
Lambda Function Code(Lambda 函数代码)
  • 在这个部分,您可以检查在 Python 中创作的示例代码。

b.  转至页面底部,选择 Create Function(创建函数)

(单击以缩放)


c.  Runtime(运行时):目前,您可以在 Java、Node.js、C#、Go 或 Python 中创作 Lambda 函数代码。对于本教程,请使用 Python 2.7 作为运行时。

d.  Handler(处理程序):您可以指定 Amazon Lambda 开始执行您的代码所用的处理程序(您代码中的一个方法/函数)。Amazon Lambda 提供事件数据作为此处理程序(用于处理事件)的输入。

在此示例中,Lambda 从代码示例中确定处理程序,此选项应预先填入 lambda_function.lambda_handler

p5

(单击以缩放)

p5

e.  向下滚动以配置您的内存、超时和 VPC 设置。 对于本教程,保留默认的 Lambda 函数配置值。

picture1

(单击以缩放)

picture1

控制台显示 hello-world-python Lambda 函数 - 现在您可以测试该函数、验证结果和检查日志。


a.  从名为 Select a test event...(选择测试事件...)的下拉菜单中选择 Configure Test Event(配置测试事件)

p7

(单击以缩放)

p7

b.  此时会弹出编辑器,输入事件以测试您的函数。 

  • 从输入测试事件页面的示例事件模板列表中选择 Hello World。 
  • 键入一个事件名,例如 HelloWorldEvent
  • 您可以更改示例 JSON 中的值,但不能更改事件结构。对于本教程,将 value1 替换为 hello, world!

选择 Create(创建)

(单击以缩放)


c.  选择 Test(测试)

p9

(单击以缩放)

p9

d. 成功执行之后,在控制台中查看结果:

  • Execution results(执行结果)部分验证执行是否成功。
  • Summary(摘要)部分显示日志输出中报告的关键信息。
  • 日志输出部分显示 Lambda 函数执行生成的日志。 

(单击以缩放)

Amazon Lambda 自动监控 Lambda 函数并通过 Amazon CloudWatch 报告指标。为了帮助您在代码执行时监控它,Lambda 自动跟踪请求数、每个请求的延迟和引起错误的请求数并发布关联的指标。 


a.  反复单击 Test(测试)按钮,再调用 Lambda 函数几次。 这将生成可以在下一步中查看的指标。

b.  选择 Monitoring(监控)以查看结果。

(单击以缩放)


c.  向下滚动,查看您的 Lambda 函数的指标。 Lambda 指标通过 Amazon CloudWatch 来报告。您可以利用这些指标来设置自定义警报。有关 CloudWatch 的更多信息,请参见 Amazon CloudWatch 开发人员指南

Monitoring(监控)选项卡将显示六个 CloudWatch 指标:调用计数、调用持续时间、调用错误受到限制的调用、迭代器年限和 DLQ 错误。

(单击以缩放)

虽然保留您的 Lambda 函数无需支付费用,但您可以从 Amazon Lambda 控制台轻松删除您的函数。 


a. 选择 Actions(操作)按钮,然后单击 Delete Function(删除函数)

(单击以缩放)


b.  系统会提示您确认终止 - 选择 Delete(删除)

(单击以缩放)

您已经创建第一个 Amazon Lambda 函数。这是您学习如何在无需预配置或管理服务器的情况下运行应用程序的第一步。Lambda 通过运行您的代码来回应每个触发器,随着工作负载的大小精确地扩展,从而自动扩展您的应用程序。

您已经学习了创建 Lambda 函数,现在您可以继续进入下一个教程,学习如何触发 Lambda 函数来处理已上传到 Amazon S3 存储桶的数据。您将使用 Lambda 函数实时创建已上传到 Amazon S3 存储桶的图像的缩略图。

使用 Amazon Lambda 和 Amazon S3 »