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

Ruby 中的 AWS Lambda 函数处理程序

您的 Lambda 函数的处理程序是 Lambda 在该函数被调用时调用的方法。在以下示例中,文件 function.rb 将定义一个名为 handler 的处理程序方法。该处理程序函数将选取两个对象作为输入并返回一个 JSON 文档。

例 function.rb

require 'json' def handler(event:, context:) { event: JSON.generate(event), context: JSON.generate(context.inspect) } end

在您的函数配置中,handler 设置指示 Lambda 在何处查找处理程序。对于上述示例,此设置的正确值为 function.handler。它包含两个由点分隔的名称:文件的名和处理程序方法的名称。

您还可以在类中定义处理程序方法。以下示例在名为 LambdaFunctions 的模块中的名为 Handler 的类上定义了一个名为 process 的处理程序。

例 source.rb

module LambdaFunctions class Handler def self.process(event:,context:) "Hello!" end end end

在本例中,处理程序设置为 source.LambdaFunctions::Handler.process

该处理程序接受的两个对象是调用事件和上下文。事件是一个 Ruby 对象,包含由调用方提供的负载。如果该负载为 JSON 文档,则事件对象为 Ruby 哈希。否则,它是一个字符串。上下文对象具有一些方法和属性,它们提供了有关调用、函数和执行环境的信息。

函数处理程序在您的 Lambda 函数每次被调用时执行。处理程序外部的静态代码对该函数的每个实例执行一次。如果您的处理程序使用开发工具包客户端和数据库连接之类的资源,您可以在处理程序方法外部创建这些资源以对多个调用重复使用它们。

您的函数的每个实例都可以处理多个调用事件,但一次只能处理一个事件。在给定的任何时间,处理事件的实例数都是您的函数的并发。有关 Lambda 执行上下文的更多信息,请参阅 AWS Lambda 执行上下文