将 AWS Lambda 与其他服务一起使用
AWS Lambda 与其他AWS服务集成以调用函数或采取其他操作。下面是一些常见用例:
-
调用函数以响应资源生命周期事件,例如使用 Amazon Simple Storage Service(Amazon S3)。有关更多信息,请参阅结合 Amazon S3 使用 AWS Lambda。
-
响应传入 HTTP 请求。有关更多信息,请参阅教程:利用 API Gateway 使用 Lambda。
-
使用队列中的事件。有关更多信息,请参阅将 Lambda 与 Amazon SQS 结合使用。
-
按计划运行函数。有关更多信息,请参阅通过 Amazon EventBridge (CloudWatch Events) 使用 AWS Lambda。
根据您使用 Lambda 的服务,调用通常以两种方式之一工作。事件驱动调用或 Lambda 轮询队列或数据流,并调用函数以响应队列或数据流中的活动。Lambda 以一种不涉及调用函数的方式与 Amazon Elastic File System 和 AWS X-Ray 集成。
有关更多信息,请参阅事件驱动调用和Lambda 轮询。或者,在以下部分中查找要使用的服务,以查找有关将 Lambda 与该服务一同使用的信息的链接。
服务列表和指向更多信息的链接
在下表中找到要使用的服务,以确定应使用哪种调用方法。按照服务名称中的链接查找有关如何设置服务之间的集成的信息。这些主题还包括可用于测试函数的示例事件。
此表中的条目按服务名称的字母顺序排列,但不包括“Amazon”或”AWS”前缀。您还可以使用浏览器的搜索功能在列表中查找您的服务。
服务 | 调用方法 |
---|---|
事件驱动;同步调用 |
|
Lambda 轮询 |
|
Lambda 轮询 |
|
事件驱动;同步调用 |
|
事件驱动;异步调用 |
|
事件驱动;同步调用 |
|
事件驱动;异步调用 |
|
事件驱动;异步调用 |
|
事件驱动;异步调用 |
|
事件驱动;异步调用 |
|
事件驱动;同步调用 |
|
事件驱动;异步调用 |
|
事件驱动;同步调用 |
|
Lambda 轮询 |
|
特殊集成 |
|
事件驱动;同步调用 |
|
事件驱动;异步调用 |
|
AWS IoT 事件 |
事件驱动;异步调用 |
Lambda 轮询 |
|
事件驱动;同步调用 |
|
事件驱动;同步调用 |
|
Lambda 轮询 |
|
事件驱动;异步调用 |
|
事件驱动;异步调用 |
|
Lambda 轮询 |
|
事件驱动;异步调用 |
|
事件驱动;同步调用 |
|
事件驱动;同步调用 |
|
特殊集成 |
事件驱动调用
某些服务会生成可以调用 Lambda 函数的事件。有关设计这些架构类型的更多信息,请参阅《Lambda 操作指南》中的事件驱动型架构。
当您实施事件驱动型架构时,您可以授予事件生成服务权限,以便在函数的基于资源的策略中调用函数。然后配置该服务以生成调用函数的事件。
事件使用 JSON 格式的数据结构。JSON 结构因生成它的服务和事件类型而异,但它们都包含函数处理事件所需的数据。
Lambda 将事件文档转换为一个对象,并将该对象传递给函数处理程序。对于编译型语言,Lambda 在库中提供事件类型的定义。有关更多信息,请参阅有关使用您的语言构建函数的主题:使用 C# 构建 Lambda 函数、使用 Go 构建 Lambda 函数、使用 Java 构建 Lambda 函数或者使用 PowerShell 构建 Lambda 函数。
取决于服务,事件驱动调用可以是同步的,也可以是异步的。
有关 Lambda 如何管理同步和异步调用函数的错误处理的详细信息,请参阅AWS Lambda 中的错误处理和自动重试。
Lambda 轮询
对于生成队列或数据流的服务,您可以在 Lambda 中设置事件源映射,以便让 Lambda 轮询队列或数据流。
当您实施 Lambda 轮询架构时,授予 Lambda 访问函数执行角色中的其他服务的权限。Lambda 从其他服务读取数据、创建事件并调用您的函数。