在AWS API Gateway中测试Lambda函数遇KeyError问题求助
问题解决:Lambda函数KeyError错误处理
问题根源
Python字典的键是大小写敏感的,你的Lambda代码尝试读取event['base']和event['exponent'](全小写),但测试请求体里的键是Base和Exponent(首字母大写),两者不匹配,导致KeyError。
解决方案
有两种直接的解决方式:
1. 修改请求体(推荐)
将请求体的键名改为全小写,和代码中的键完全一致:
{"base":2,"exponent":3}
发送这个请求后,Lambda就能正确读取到对应的参数值。
2. 修改Lambda代码兼容大小写
如果不想调整请求格式,可以修改代码来兼容不同大小写的键,比如:
# 方式1:直接兼容两种键名 base = event.get('base') or event.get('Base') exponent = event.get('exponent') or event.get('Exponent') # 方式2:统一将event的键转为小写 lowercase_event = {k.lower(): v for k, v in event.items()} base = lowercase_event['base'] exponent = lowercase_event['exponent']
测试验证
调整后重新发送请求,就能正常计算并返回结果(比如2的3次方,返回8)。
内容的提问来源于stack exchange,提问作者tam63
相关产品推荐
相关产品推荐

