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

如何获取event.json文件用于AWS Lambda单元测试

如何生成AWS Lambda单元测试用的event.json文件

方法1:从Postman调用的实际请求中导出完整event

  • 在你的Lambda handleRequest 方法中,添加代码完整打印event:
    // Node.js示例
    console.log(JSON.stringify(event, null, 2));
    // Java示例
    // ObjectMapper mapper = new ObjectMapper();
    // System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(event));
    
  • 用Postman正常调用一次你的Lambda函数。
  • 登录AWS CloudWatch控制台,找到该Lambda的日志组,定位到刚生成的日志条目,复制完整的JSON内容,保存为event.json文件。这个文件就是Postman调用时Lambda实际接收的event,可直接用于单元测试。

方法2:通过Lambda控制台的测试事件模板生成

  • 进入AWS Lambda控制台,打开你的函数页面,切换到「测试」标签页。
  • 点击「测试事件操作」→「配置测试事件」,在模板列表中选择与你的触发源匹配的模板(比如API Gateway触发就选「API Gateway AWS Proxy」)。
  • 根据Postman的请求信息,修改模板中的关键字段:
    • httpMethod:匹配Postman的请求方法(GET/POST/PUT等)
    • headers:填入Postman中发送的请求头(比如Content-Type、Authorization等)
    • body:如果是POST/PUT请求,把Postman里的请求体填进去(JSON格式需转义为字符串,或直接用原始JSON)
    • queryStringParameters:如果有URL查询参数,按键值对填写
  • 保存测试事件后,点击「下载」按钮即可导出为event.json文件。

方法3:手动构造符合触发源结构的event

如果熟悉Lambda触发源的event结构,可直接手动编写:

  • 以API Gateway代理集成的event为例,基本结构如下:
    {
      "resource": "/your-api-path",
      "path": "/your-api-path",
      "httpMethod": "POST",
      "headers": {
        "Content-Type": "application/json",
        "Authorization": "Bearer your-auth-token"
      },
      "queryStringParameters": {
        "param1": "value1"
      },
      "body": "{\"key\": \"test-value\"}",
      "isBase64Encoded": false
    }
    
  • 对照Postman的请求,替换对应字段的值即可。

关于之前CloudWatch日志event不正确的原因

大概率是你只打印了event的部分字段(比如仅event.body),或是日志被CloudWatch截断。确保用格式化的方式完整打印整个event对象,若日志过长,可在CloudWatch中查看完整的日志条目(部分长日志会拆分,需拼接)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:25:47