[英]AWS Lambda Function is misinterpreting event dictionary in python?
[英]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','')
錯誤:
AttributeError:'str'對象沒有屬性'get'
在本地看來,對象數據是dict 。 但是在AWS中這是一個str 。
感謝@gddc評論,我可以找到答案。
問題在於API Gateway
使用引號將事件的主體值包裝起來 。
所以,我得先分析它與dict。
正確的代碼:
def handler(event, context):
logger.info("###EVENT " + str(event))
data = event.get('body')
data = json.loads(data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.