Here is the raw output from examining the Python LambdaContext context object in a AWS Lambda function when called from a CloudFormation stack. More information on the context object can be found here : http://docs.aws.amazon.com/lambda/latest/dg/python-context-object.html
<__main__.LambdaContext object at 0x7fd706780710>
{
'aws_request_id': 'a3de505e-f16b-42f4-b3e6-bcd2e4a73903',
'log_stream_name': '2015/10/26/[$LATEST]c71058d852474b9895a0f221f73402ad',
'invoked_function_arn': 'arn:aws:lambda:us-west-2:123456789012:function:ExampleCloudFormationStackName-ExampleLambdaFunctionResourceName-AULC3LB8Q02F',
'client_context': None,
'log_group_name': '/aws/lambda/ExampleCloudFormationStackName-ExampleLambdaFunctionResourceName-AULC3LB8Q02F',
'function_name': 'ExampleCloudFormationStackName-ExampleLambdaFunctionResourceName-AULC3LB8Q02F',
'function_version': '$LATEST',
'identity': <__main__.CognitoIdentity object at 0x7fd7042a2b90>,
'memory_limit_in_mb': '128'
}
[
'__class__',
'__delattr__',
'__dict__',
'__doc__',
'__format__',
'__getattribute__',
'__hash__',
'__init__',
'__module__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__setattr__',
'__sizeof__',
'__str__',
'__subclasshook__',
'__weakref__',
'aws_request_id',
'client_context',
'function_name',
'function_version',
'get_remaining_time_in_millis',
'identity',
'invoked_function_arn',
'log',
'log_group_name',
'log_stream_name',
'memory_limit_in_mb'
]
The Python runtime does not have the equivalent of a context.succeed(), context.done() or context.fail().
In order to achieve the same thing, merely return from the handler function to succeed
or raise an exception to fail
def lambda_handler(event, context):
if event['variable_name'] == 1:
return {
'message' : 'We are done'
}
else:
raise Exception('Sending failure')
@NovemberOscar points out this code which shows what AWS sees on their side for the Python context
Thanks for the gist :)
I have the exact same problem. Can't find anything in the docs about the said
succeed
ordone
methods that seem to be used with Node.js runtime.