Python 中的 Amazon Lambda 上下文对象 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Python 中的 Amazon Lambda 上下文对象

注意

对 Python 2.7 运行时的支持将于 2021 年 7 月 15 日开始结束。有关更多信息,请参阅 运行时支持策略

当 Lambda 运行您的函数时,它会将上下文对象传递到处理程序。此对象提供的方法和属性包含有关调用、函数和执行环境的信息。有关如何将上下文对象传递到函数处理程序的更多信息,请参阅Python 中的 Lambda 函数处理程序

上下文方法

  • get_remaining_time_in_millis – 返回在执行超时以前剩余的毫秒数。

上下文属性

  • function_name – Lambda 函数的名称。

  • function_version – 函数的版本

  • invoked_function_arn – 用于调用函数的 Amazon 资源名称 (ARN)。指示调用方是否已指定版本或别名。

  • memory_limit_in_mb – 为函数分配的内存量。

  • aws_request_id – 调用请求的标识符。

  • log_group_name – 函数的日志组。

  • log_stream_name – 函数实例的日志流。

  • identity – (移动应用程序)有关授权请求的 Amazon Cognito 身份的信息。

    • cognito_identity_id – 已经过身份验证的 Amazon Cognito 身份。

    • cognito_identity_pool_id – 授权调用的 Amazon Cognito 身份池。

  • client_context – (移动应用程序)由客户端应用程序向 Lambda 提供的客户端上下文。

    • client.installation_id

    • client.app_title

    • client.app_version_name

    • client.app_version_code

    • client.app_package_name

    • custom – 由移动客户端应用程序设置的自定义值的 dict

    • env – 由 Amazon 开发工具包提供的环境信息的 dict

以下示例显示记录上下文信息的处理程序函数。

例 handler.py

import time def lambda_handler(event, context): print("Lambda function ARN:", context.invoked_function_arn) print("CloudWatch log stream name:", context.log_stream_name) print("CloudWatch log group name:", context.log_group_name) print("Lambda Request ID:", context.aws_request_id) print("Lambda function memory limits in MB:", context.memory_limit_in_mb) # We have added a 1 second delay so you can see the time remaining in get_remaining_time_in_millis. time.sleep(1) print("Lambda time remaining in MS:", context.get_remaining_time_in_millis())

除了上面列出的选项,您还可以使用适用于 在 Amazon Lambda 中检测 Python 代码 的 Amazon X-Ray 开发工具包来识别关键代码路径、跟踪其性能并收集数据以用于分析。