AWS Lambda
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

教程:将 AWS Lambda 用于计划的事件

在本教程中,您将执行以下操作:

  • 使用 lambda-canary 蓝图创建 Lambda 函数。您将 Lambda 函数配置为每分钟运行一次。请注意,如果函数返回错误,则 AWS Lambda 会将错误指标记录到 CloudWatch。

  • 将 Lambda 函数的 Errors 指标的 CloudWatch 警报配置为在 AWS Lambda 向 CloudWatch 发出错误指标时将消息发布到 Amazon SNS 主题。您将订阅 Amazon SNS 主题以接收电子邮件通知。在本教程中,您将执行以下操作来进行此设置:

    • 创建一个 Amazon SNS 主题。

    • 订阅主题以便在有新消息发布到主题时接收电子邮件通知。

    • 在 Amazon CloudWatch 中,将 Lambda 函数的 Errors 指标的警报设置为在出错时将消息发布到 SNS 主题。

先决条件

本教程假设您对基本 Lambda 操作和 Lambda 控制台有一定了解。如果尚不了解,请按照开始使用 AWS Lambda中的说明创建您的第一个 Lambda 函数。

创建 Lambda 函数

  1. 通过以下网址登录 AWS 管理控制台并打开 AWS Lambda 控制台:https://console.amazonaws.cn/lambda/

  2. 选择 Create function

  3. 选择 Blueprints (蓝图)

  4. 在搜索栏中输入 canary。选择 lambda-canary 蓝图,然后选择 Configure (配置)

  5. 配置以下设置。

    • 名称lambda-canary

    • 角色从一个或多个模板创建新角色

    • 角色名称 (角色名称)lambda-apigateway-role

    • 策略模板简单微服务权限

    • 规则Create a new rule (创建新规则)

    • 规则名称CheckWebsiteScheduledEvent

    • 规则描述CheckWebsiteScheduledEvent trigger

    • 计划表达式rate(1 minute)

    • 已启用 – True(已选中)。

    • 环境变量

      • sitehttps://docs.aws.amazon.com/lambda/latest/dg/welcome.html

      • expectedWhat Is AWS Lambda?

  6. 选择 Create function

CloudWatch Events 根据计划表达式每分钟发出一个事件。该事件触发 Lambda 函数,从而验证指定页面上是否显示了预期字符串。有关表达式计划的更多信息,请参阅使用 Rate 或 Cron 来计划表达式

测试 Lambda 函数。

使用 Lambda 控制台所提供的示例事件测试函数。

  1. 打开 Lambda 控制台 函数页面

  2. 选择 lambda-canary

  3. 在页面顶部的 Test (测试) 按钮旁,选择下拉菜单中的 Configure test events (配置测试事件)

  4. 使用 CloudWatch Events 事件模板创建新事件。

  5. 选择 Create

  6. 选择 Test

函数执行的输出将显示在页面顶部。

创建一个 Amazon SNS 主题并订阅此主题

创建一个 Amazon Simple Notification Service 主题以在 canary 函数返回错误时收到通知。

要创建主题,请执行以下操作

  1. 打开 Amazon SNS 控制台

  2. 选择 Create topic

  3. 使用以下设置创建主题。

    • 名称lambda-canary-notifications

    • 显示名称Canary

  4. 选择 Create subscription

  5. 使用以下设置创建订阅。

    • 协议Email

    • 终端节点 – 您的电子邮件地址。

Amazon SNS 将通过 Canary <no-reply@sns.amazonaws.com> 发送一封电子邮件,其中反映了主题的友好名称。使用此电子邮件中的链接确认您的地址。

配置警报

在 Amazon CloudWatch 中配置用来监控 Lambda 函数并在此函数失败时发送通知的警报。

创建警报

  1. 打开 CloudWatch 控制台

  2. 选择 Alarms

  3. 选择 Create Alarm (创建警报)

  4. 选择 Alarms

  5. 使用以下设置创建警报。

    • Metrics (指标)lambda-canary 错误

      搜索 lambda canary errors 以查找指标。

    • 统计数据 – Sum

      从预览图上方的下拉列表中选择统计数据。

    • 名称lambda-canary-alarm

    • Description (描述)Lambda canary alarm

    • 阈值 – 当错误为 >=1

    • Send notification to (发送通知到)lambda-canary-notifications

测试警报

更新函数配置以使函数返回错误,从而触发警报。

触发警报

  1. 打开 Lambda 控制台 函数页面

  2. 选择 lambda-canary

  3. Environment variables (环境变量) 下,将 expected (预期) 设置为 404

  4. 选择 Save

等待一分钟,然后在电子邮件中查看来自 Amazon SNS 的邮件