You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda Python代码报'queryStringParameters' KeyError问题排查

AWS Lambda KeyError报错修复方案

报错原因

KeyError: 'queryStringParameters' 是因为代码直接强制读取event对象中不存在的queryStringParameters字段触发的,触发场景有两种:

  1. Lambda控制台测试时使用的默认测试模板未配置queryStringParameters字段,该字段只有API Gateway触发Lambda时才会默认携带
  2. 即便是API Gateway触发的请求,如果请求未携带任何查询参数,AWS会将queryStringParameters设为null而非空字典,直接访问键也会抛出异常

解决方案

  • 代码层面新增安全取值逻辑,避免直接嵌套读取字典键,参考写法:
# 写法1:链式调用get设置默认值,适合非必填参数
query_params = event.get("queryStringParameters") or {}
Salary_or_wages = query_params.get("salary/wages", 0) # 后面的值可自定义默认值

# 写法2:异常捕获,适合必填参数校验
try:
    Salary_or_wages = event["queryStringParameters"]["salary/wages"]
except (KeyError, TypeError):
    return {
        "statusCode": 400,
        "body": "缺少必填查询参数salary/wages"
    }
  • 若在Lambda控制台做测试,需要手动调整测试事件结构,补充对应字段:
{
  "queryStringParameters": {
    "salary/wages": "你要测试的参数值"
  }
  // 其他测试所需的事件字段保留即可
}

内容的提问来源于stack exchange,提问作者Bunny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 02:06:08