Skip to content

Lambda Context

CLASS DESCRIPTION
LambdaContextModel

A handful of Lambda Runtime Context fields

FUNCTION DESCRIPTION
build_lambda_context_model

Captures Lambda function runtime info to be used across all log statements

LambdaContextModel

LambdaContextModel(
    function_name: str = "UNDEFINED",
    function_memory_size: int = 128,
    function_arn: str = "UNDEFINED",
    function_request_id: str = "UNDEFINED",
)

A handful of Lambda Runtime Context fields

Full Lambda Context object: https://docs.aws.amazon.com/lambda/latest/dg/python-context-object.html

PARAMETER DESCRIPTION
function_name

Lambda function name, by default "UNDEFINED" e.g. "test"

TYPE: str DEFAULT: 'UNDEFINED'

function_memory_size

Lambda function memory in MB, by default 128

TYPE: int DEFAULT: 128

function_arn

Lambda function ARN, by default "UNDEFINED" e.g. "arn:aws:lambda:eu-west-1:809313241:function:test"

TYPE: str DEFAULT: 'UNDEFINED'

function_request_id

Lambda function unique request id, by default "UNDEFINED" e.g. "52fdfc07-2182-154f-163f-5f0f9a621d72"

TYPE: str DEFAULT: 'UNDEFINED'

Source code in aws_lambda_powertools/logging/lambda_context.py
24
25
26
27
28
29
30
31
32
33
34
def __init__(
    self,
    function_name: str = "UNDEFINED",
    function_memory_size: int = 128,
    function_arn: str = "UNDEFINED",
    function_request_id: str = "UNDEFINED",
):
    self.function_name = function_name
    self.function_memory_size = function_memory_size
    self.function_arn = function_arn
    self.function_request_id = function_request_id

build_lambda_context_model

build_lambda_context_model(
    context: Any,
) -> LambdaContextModel

Captures Lambda function runtime info to be used across all log statements

PARAMETER DESCRIPTION
context

Lambda context object

TYPE: object

RETURNS DESCRIPTION
LambdaContextModel

Lambda context only with select fields

Source code in aws_lambda_powertools/logging/lambda_context.py
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
def build_lambda_context_model(context: Any) -> LambdaContextModel:
    """Captures Lambda function runtime info to be used across all log statements

    Parameters
    ----------
    context : object
        Lambda context object

    Returns
    -------
    LambdaContextModel
        Lambda context only with select fields
    """

    context = {
        "function_name": context.function_name,
        "function_memory_size": context.memory_limit_in_mb,
        "function_arn": context.invoked_function_arn,
        "function_request_id": context.aws_request_id,
    }

    return LambdaContextModel(**context)