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

Python 中的 AWS Lambda 函数处理程序

在创建 Lambda 函数时,需要指定一个处理程序(此处理程序是代码中的函数),AWS Lambda 可在服务执行代码时调用它。在 Python 中创建处理程序函数时,使用以下一般语法结构。

def handler_name(event, context): ... return some_value

在该语法中,需要注意以下方面:

  • event – AWS Lambda 使用此参数将事件数据传递到处理程序。此参数通常是 Python dict 类型。它也可以是 liststrintfloatNoneType 类型。

  • context – AWS Lambda 使用此参数向您的处理程序提供运行时信息。此参数为 LambdaContext 类型。

  • (可选)处理程序可返回值。返回的值所发生的状况取决于调用 Lambda 函数时使用的调用类型:

    • 如果您使用 RequestResponse 调用类型(同步执行),AWS Lambda 会将 Python 函数调用的结果返回到调用 Lambda 函数的客户端(在对调用请求的 HTTP 响应中,序列化为 JSON)。例如,AWS Lambda 控制台使用 RequestResponse 调用类型,因此当您使用控制台调用函数时,控制台将显示返回的值。

    • 如果处理程序返回 json.dumps 无法序列化的对象,则运行时返回错误。

    • 如果处理程序返回 None(就像具有 return 语句的 Python 函数隐式执行的那样),则运行时返回 null

    • 如果您使用 Event 调用类型(异步执行),则丢弃该值。

例如,考虑以下 Python 示例代码。

def my_handler(event, context): message = 'Hello {} {}!'.format(event['first_name'], event['last_name'])  return { 'message' : message }

此示例具有一个名为 my_handler 的函数。此函数从它接收为输入的事件返回包含数据的消息。