使用 AWS Lambda 运行无服务器程序 “Hello, World!”

概述

在本教程中,您将学习关于如何在无需预配置或管理服务器的情况下使用 AWS Lambda 运行代码的基础知识。我们将逐步引导您学习如何在 AWS Lambda 控制台上创建 Hello World 这样的 Lambda 函数。然后,我们将使用示例事件数据教您如何手动调用 Lambda 函数并查看输出指标。

本教程涉及的所有服务皆可通过 Free Tier 免费试用。

 AWS 使用经验

新手

 完成时间

10 分钟

 所需费用

Free Tier

  前提条件

  • AWS 账户
  • 推荐浏览器:最新版本的 Chrome 或 Firefox

[**]在过去 24 小时内新创建的账户可能无法使用本教程所需的服务。

 使用的服务

 上次更新时间

2023 年 9 月 27 日

操作步骤

  • 点击此处时,AWS 管理控制台将在新的浏览器窗口中打开,因此,您可以将这份分步指南保持打开状态。在顶部导航栏中,搜索

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

    a. 在 AWS Lambda 控制台上,点击 Create function (创建函数)。

    注意:只有当您未创建任何 Lambda 函数时,控制台才会显示此页面。若您已创建函数,则会看到 Lambda > Functions(Lambda > 函数)页面。在列表页面上,选择 Create a function(创建函数),进入 Create function(创建函数)页面。

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

    Basic Information(基本信息):

    • Name(名称):您可以在这里为您的 Lambda 函数命名。在本教程中,我们将使用 hello-world-python。
    • Role(角色):您将创建一个 IAM 角色(称为执行角色),该角色具有必要的权限,从而让 AWS Lambda 可以代您调用您的 Lambda 函数。
    • Role name(角色名称):lambda_basic_execution。

    Lambda function code(Lambda 函数代码):

    在这一部分,您可以检查用 Python 编写的示例代码。

    若要继续构建函数:

    b. 选择 Use a blueprint(使用蓝图)。
    c. 在 Blueprint name(蓝图名称)框中,确保选中使用 python 3.10 蓝图的 Hello world 函数。
    d. 在 Fuction name(函数名称)框中,输入 hello-world-python。
    e. 对于 Execution role(执行角色),选择 Create a new role from AWS policy templates(基于 AWS 策略模板创建新角色)。
    f. 在 Role name(角色名称)框中,输入 lambda_basic_execution。
    g. 点击 Create Function(创建函数)按钮。

  • 函数创建后,检查其他设置。

    • Runtime(运行时):目前,您可以使用 Java、Node.js、C#、Go 或 Python 编写 Lambda 函数代码。在本教程中,我们使用 Python 3.10 作为运行时。
    • Handler(处理程序):您可以指定 AWS Lambda 开始执行代码时使用哪种处理程序(您代码中的方法/函数)。AWS Lambda 提供事件数据作为此处理程序(用于处理事件)的输入。

    在本例中,Lambda 从示例代码中识别了处理程序,因此此选项被预先填充了 lambda_function.lambda_handler。

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

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

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

    • 选择 Create new event(创建事件)。
    • 输入事件名称,例如 HelloWorldEvent
    • 在 Event sharing settings(事件共享设置)下,保留默认的 Private(私有)选项。
    • 从模板列表中选择 hello-world
    • 您可以更改示例 JSON 中的值,但不能更改事件结构。在本教程中,将 value1 替换为 “hello, world!”。

    点击 Create(创建)。

    c. 点击 Test(测试)。

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

    • Execution results(执行结果)页签验证执行是否成功。
    • Function Logs(函数日志)部分将会显示 Lambda 函数执行生成的日志以及日志输出中报告的关键信息。
  • AWS Lambda 会通过 Amazon CloudWatch 自动监控 Lambda 函数并报告指标。为帮助您在代码运行时监控代码,Lambda 会自动跟踪请求数、每个请求的延迟时间和产生错误的请求数,并发布关联的指标。 

    a. 通过反复点击 Test (测试)按钮多调用几次 Lambda 函数。这将生成指标并可在下一步中查看。

    b. 选择 Monitor(监控)页签,查看结果。

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

    Monitor(监控)页签将显示七个 CloudWatch 指标:Invocations(调用次数)、Duration(调用持续时间)、Error count and success rate (%)(调用错误次数和成功率)、Throttles(受限调用次数)、Async delivery failures(异步传输错误次数)、IteratorAge(迭代器年限)以及 Concurrent executions(并发执行次数)。

    使用 AWS Lambda,您需要根据使用量付费。达到 AWS Lambda 免费套餐的使用上限后,您需要根据对函数的请求数量(调用次数)和代码执行时间(调用持续时间)付费。  更多信息请参见 AWS Lambda 定价

  • 虽然保留您的 Lambda 函数无需支付费用,但若需要,您可以在 AWS Lambda 控制台上轻松删除您的函数。

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

    b. 系统会提示您确认删除操作 - 点击 Delete(删除)。

结果

恭喜您!您已创建好了您的第一个 AWS Lambda 函数。这是您学习如何在无需预配或管理服务器的情况下运行应用程序的第一步。Lambda 通过运行您的代码来响应每个触发器,并基于工作负载的大小精确扩展,从而自动扩展您的应用程序。

此页内容对您是否有帮助?

后续步骤