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

在本教程中,您将学习无需预置或管理服务器即可在 AWS Lambda 上运行代码的基础知识。我们将逐步介绍如何使用 AWS Lambda 控制台来创建 Hello World Lambda 函数。然后,我们将向您展示如何使用示例事件数据手动调用 Lambda 函数,以及如何查看您的输出指标。

在本教程中完成的所有操作均符合免费套餐条件。

要使用 AWS 运行无服务器代码,您需要拥有一个账户

在几分钟内创建免费账户

AWS 免费套餐包含每月向 AWS Lambda 发送 1 百万个免费请求和最高 320 万秒的计算时间。

查看 AWS 免费套餐详细信息 »

 

在您单击此处后,AWS 管理控制台会在新的浏览器窗口中打开,这样本分步指南就能一直保持打开状态。 在 Compute(计算)下找到 Lambda,然后单击以打开 AWS Lambda 控制台。

P1

(单击可缩放)

P1

蓝图提供了示例代码,用于进行一些最低程度的处理。大多数蓝图用于处理来自特定事件源(如 Amazon S3、DynamoDB 或自定义应用程序)的事件。

a.  在 AWS 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 函数包含您提供的代码、关联依赖项和配置。您提供的配置信息包括要分配的计算资源(例如内存)、执行超时和 AWS Lambda 可以承担的 IAM 角色(用来代表您执行 Lambda 函数)。


a.  现在,您需要输入有关 Lambda 函数的基本信息

Basic Information(基本信息):
  • Name(名称):您可以在此为您的函数命名。在本教程中,请输入 hello-world-python
  • Role(角色):您将创建具有必要权限的 IAM 角色(称为执行角色),AWS Lambda 可以承担这一角色来代表您调用 Lambda 函数。选择 Create new role from template(s)(从模板创建新角色)
  • Role name(角色名称):键入 lambda_basic_execution
Lambda Function Code(Lambda 函数代码):
  • 在本部分中,您可以查看使用 Python 编写的示例代码。

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

P4

(单击可缩放)

P4

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

d.  Handler(处理程序):您可以指定一个处理程序(代码中的方法/函数),AWS Lambda 可在其中开始执行您的代码。AWS 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.  在弹出的编辑器中输入事件来测试您的函数。 

  • 从“输入测试事件”页面的“Sample event template”(示例事件模板)列表中选择 Hello World。 
  • 键入事件名称,如 HelloWorldEvent
  • 您可以更改示例 JSON 中的值,但不要更改事件结构。在本教程中,请将 value1 替换为 hello, world!

选择 Create(创建)。

P8

(单击可缩放)

P8

c.  选择 Test(测试)。

P9

(单击可缩放)

P9

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

  • Execution results(执行结果)部分会确认执行是否成功。
  • Summary(摘要)部分显示了“Log output”(日志输出)中报告的关键信息。
  • Log output(日志输出)部分将显示 Lambda 函数执行过程中生成的日志。 
P91

(单击可缩放)

P91

AWS Lambda 会通过 Amazon CloudWatch 自动监控 Lambda 函数并报告各项指标。为帮助您监控代码的执行情况,Lambda 会自动跟踪请求数量、每个请求的延迟以及产生错误的请求数量,并发布相关的指标。 


a.  重复单击 Test(测试)按钮即可多次调用 Lambda 函数。 这样可以生成可在下一步骤中查看的指标。

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

P92

(单击可缩放)

P92

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

“Monitoring”(监控)选项卡将显示六项 CloudWatch 指标:Invocation count(调用计数)、Invocation duration(调用持续时间)、Invocation errors(调用错误)Throttled invocations(受限的调用)、Iterator age(迭代器期限)以及 DLQ errors(DLQ 错误)。

使用 AWS Lambda,您只需按实际使用量付费。达到 AWS Lambda 免费套餐的上限后,您需要按照函数的请求数量(调用次数)以及代码的运行时间(调用持续时间)来支付费用。 有关更多信息,请参阅 AWS Lambda 定价

P93

(单击可缩放)

P93

尽管保留 Lambda 函数不收取费用,但您仍可以从 AWS Lambda 控制台轻松将其删除。 


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

P94

(单击可缩放)

P94

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

P95

(单击可缩放)

P95

您已创建了第一个 AWS Lambda 函数。这是了解如何在无需预置或管理服务器的情况下运行应用程序的第一步。Lambda 可通过运行您的代码来自动扩展您的应用程序,以回应每次触发,从而根据您的工作负载大小进行精确扩展。

了解了如何创建 Lambda 函数之后,您可以进行下一教程的学习,了解如何触发 Lambda 函数以处理上传至 Amazon S3 存储桶的数据。您将使用 Lambda 函数来实时创建上传至 S3 存储桶的图片的缩略图。

将 AWS Lambda 与 Amazon S3 配合使用 »