Dictionary problem with aws lambda - Python



我正在使用Python 3.6开发AWS lambda函数,并面临一个奇怪的场景。

在本地,使用python-lambda-local调用函数一切正常。

在 AWS 中,以下代码片段会引发异常:

def handler(event, context):
data = event['body']
logger.info("###DATAAAAA BODY " + str(data))
origem = data.get('origem','')

错误:

属性

错误:"str"对象没有属性"get">

似乎在本地,对象数据是一个字典。但在AWS中,这是一个支柱

感谢@g.d.d.c的评论,我可以找到答案。

问题是API Gateway引号包装事件的正文值。

所以我必须先解析它来听写

正确的代码:

def handler(event, context):
logger.info("###EVENT " + str(event))
data = event.get('body')
data = json.loads(data)

最新更新