调用 Lambda 函数 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

调用 Lambda 函数

您可以直接使用 Lambda 控制台函数 URL HTTP(S)端点、Lambda APIAmazon 开发工具包Amazon Command Line Interface(Amazon CLI)和 Amazon 工具包直接调用 Lambda 函数。您还可以配置其他 Amazon 服务,用于调用您的函数以响应事件或外部请求或按计划运行。例如,当在 S3 存储桶中创建对象时,Amazon Simple Storage Service(Amazon S3)可以调用您的函数,或者 Amazon EventBridge(CloudWatch Events)可以按计划调用您的函数。您还可以配置 Lambda 从流或队列中读取项目,调用您的函数来处理项目。

调用函数时,您可以选择同步或异步调用。使用同步调用时,您将等待函数处理该事件并返回响应。使用异步调用时,Lambda 会将事件排队等待处理并立即返回响应。对于异步调用,Lambda 可以处理重试并将调用记录发送到目标

要让其他 Amazon 服务直接调用您的函数,您需要使用 Lambda 控制台创建触发器。触发器是您配置的一种资源,用于在某些事件或条件发生时允许其他 Amazon 服务调用您的函数。您的函数可具有多个触发器。每个触发器都用作客户端,可以独立调用您的函数,而且 Lambda 传递给函数的每个事件都具有只来自一个触发器的数据。

要创建触发器,请打开 Lambda 控制台的函数页面,然后选择要向其添加触发器的函数。在 Function overview(函数概述)窗格中,选择 add trigger(添加触发器),选择要调用函数的 Amazon 服务,然后按照说明创建触发器。

每项服务在您为触发器配置的选项以及事件的结构上都各不相同(该服务将事件发送到您的 Lambda 函数以调用事件)。有关可使用触发器调用 Lambda 函数的 Amazon 服务的完整列表,以及有关为不同服务配置触发器的更多信息,请参阅将 Lambda 与其他服务一起使用

要使您的 Lambda 函数能够处理流或队列中的项目,例如 Amazon Kinesis 流或 Amazon Simple Queue Service(Amazon SQS)队列,您需要创建事件源映射。事件源映射是 Lambda 中的一种资源,它从流或队列中读取项目并创建包含多批项目的事件,以发送到您的 Lambda 函数。您的函数处理的每个事件可以包含数百个或数千个项。

您可以使用 Lambda 控制台、Amazon CLI、Lambda API 或 Amazon 开发工具包,为您的 Lambda 函数创建事件源映射。要在 Lambda 控制台中创建事件源映射,请按照说明创建触发器,然后选择支持事件源映射的 Amazon 服务之一作为您的来源。要使用 Amazon CLI、Lambda API 或 Amazon 开发工具包创建事件源映射,并查看可以与事件源映射一起使用的 Amazon 服务的列表,请参阅 Lambda 事件源映射

根据调用函数的方式,扩展行为和可能发生的错误类型会有所不同。同步调用函数时,您会在响应中收到错误并且可以重试。异步调用函数时,可使用事件源映射或配置另一个服务来调用您的函数,而重试要求以及您的函数扩展处理大量事件的方式各不相同。有关更多信息,请参阅Amazon Lambda 中的错误处理和自动重试