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

Lambda通过Postman请求触发KeyError问题排查求助

Lambda控制台测试正常但Postman请求触发KeyError问题排查

问题现象

测试一个接收JSON输入的Lambda函数时,在Lambda控制台用指定JSON测试可正常运行,但通过Postman发送相同JSON请求,会触发KeyError: 'inputParameter'错误。

相关代码与测试信息

Lambda函数代码

def lambda_handler(event, context):
    # 从event对象提取输入参数
    print(event)
    input_parameter = event['inputParameter']

    # 从输入参数提取字段
    field1 = input_parameter['field1']
    field2 = input_parameter['field2']
    field3 = input_parameter['field3']

    # 处理字段生成结果
    result = field1 + " " + field2 + " " + field3

    # 返回结果
    return result

测试用JSON(控制台与Postman发送内容一致)

{
  "inputParameter": {
    "field1": "Name",
    "field2": "Date",
    "field3": "Title"
  }
}

CloudWatch错误日志

[ERROR] KeyError: 'inputParameter'
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 6, in lambda_handler
    input_parameter = event['inputParameter']

原因分析

核心差异是Lambda触发方式不同,event结构完全不一样:

  • Lambda控制台测试时,输入的JSON会直接作为event对象传入函数;
  • 通过Postman请求时,大概率是通过API Gateway触发Lambda,此时API Gateway会把请求的JSON包装在event['body']字段里,且是字符串格式,并非直接的JSON对象。代码直接从event根节点取inputParameter,自然找不到对应键。

解决方案

方案1:适配API Gateway触发场景

修改Lambda代码,先解析event中的body字段:

import json

def lambda_handler(event, context):
    print(event)
    # 解析body字段的JSON字符串为字典
    event_body = json.loads(event['body'])
    input_parameter = event_body['inputParameter']

    field1 = input_parameter['field1']
    field2 = input_parameter['field2']
    field3 = input_parameter['field3']

    result = field1 + " " + field2 + " " + field3
    # 返回符合API Gateway要求的响应格式
    return {
        'statusCode': 200,
        'body': json.dumps(result)
    }

方案2:直接调用Lambda(绕过API Gateway)

如果不需要API Gateway,可通过Postman直接调用Lambda的Invoke接口:

  • 请求方式设为POST,URL格式为https://lambda.<你的区域>.amazonaws.com/2015-03-31/functions/<你的函数名>/invocations
  • 请求头添加X-Amz-Invocation-Type: RequestResponse
  • 请求体直接传入测试用JSON,此时Lambda收到的event结构和控制台测试一致,无需修改代码。

内容的提问来源于stack exchange,提问作者cs-tech

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 00:10:20