Python 中的 AWS Lambda 上下文对象
当 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
– 由 AWS 开发工具包提供的环境信息的dict
。
-
以下示例显示记录上下文信息的处理程序函数。
例 handler.py
import time def get_my_log_stream(event, context): print("Log stream name:", context.log_stream_name) print("Log group name:", context.log_group_name) print("Request ID:",context.aws_request_id) print("Mem. limits(MB):", context.memory_limit_in_mb) # Code will run quickly, so we add a 1 second intentional delay so you can see that in time remaining value. time.sleep(1) print("Time remaining (MS):", context.get_remaining_time_in_millis())
除了上面列出的选项,您还可以使用适用于 在 AWS Lambda 中检测 Python 代码 的 AWS X-Ray 开发工具包来识别关键代码路径、跟踪其性能并收集数据以用于分析。