使用来自其 AWS 他服务的事件调用 Lambda
某些 AWS 服务可以使用触发器直接调用 Lambda 函数。这些服务将事件推送到 Lambda,并在指定事件发生时立即调用该函数。触发器适用于离散事件和实时处理。当您使用 Lambda 控制台创建触发器时,控制台会与相应的 AWS 服务交互以配置该服务的事件通知。触发器实际上由生成事件的服务而不是 Lambda 存储和管理。
事件使用 JSON 格式的数据结构。JSON 结构因生成它的服务和事件类型而异,但它们都包含函数处理事件所需的数据。
一个函数可具有多个触发器。每个触发器都可以作为一个客户端独立调用您的函数,Lambda 传递到您的函数的每个事件仅具有一个触发器的数据。Lambda 将事件文档转换为一个对象,并将该对象传递给函数处理程序。
-
对于同步调用,生成事件的服务服务等待来自您的函数的响应。该服务定义函数需要在响应中返回的数据。该服务控制错误策略,例如是否重试错误。
-
对于异步调用,Lambda 先将事件排队,然后再将事件传递给您的函数。当 Lambda 将事件排队时,它会立即向生成事件的服务发送成功响应。函数处理事件后,Lambda 不会返回事件生成服务的响应。
创建触发器
创建触发器最简单的方法是使用 Lambda 控制台。使用控制台创建触发器时,Lambda 会自动将所需的权限添加到函数基于资源的策略。
要使用 Lambda 控制台创建触发器
-
打开 Lamba 控制台的函数页面
。 -
选择要为其创建触发器的函数。
-
在函数概述窗格中,选择添加触发器。
-
选择要调用函数的 AWS 服务。
-
填写触发器配置窗格中的选项,然后选择添加。根据您选择调用函数的 AWS 服务,触发器配置选项会有所不同。
可以调用 Lambda 函数的服务
下表列出了可以调用 Lambda 函数的服务。
服务 | 调用方法 |
---|---|
事件驱动;同步调用 |
|
事件驱动;异步调用 |
|
事件驱动;异步调用 |
|
事件驱动;异步调用 |
|
事件驱动;异步调用 |
|
事件驱动;同步调用 |
|
事件驱动;异步调用 |
|
事件驱动;同步调用 |
|
特殊集成 |
|
事件驱动;同步调用 |
|
事件驱动;异步调用(事件总线)、同步或异步调用(管道和计划) |
|
事件驱动;异步调用 |
|
事件驱动;同步调用 |
|
事件驱动;同步调用 |
|
事件驱动;异步调用 |
|
事件驱动;异步调用 |
|
事件驱动;异步调用 |
|
事件驱动;同步调用 |
|
特殊集成 |
|
事件驱动;同步或异步调用 |
|
事件驱动;同步调用 |
|
特殊集成 |