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

如何通过Lambda测试事件传递事件替代Event Bridge转换器?解决JSON加载报错

Lambda测试事件JSON格式问题排查与解决

问题背景

我们通过Lambda函数实现定时任务,用于统计并导出多张表的数据。通常通过Event Bridge的转换器将时间戳和表名传递给Lambda函数。当需要针对特定表排查故障时,希望通过Lambda测试事件手动运行函数,将测试事件设置为与Event Bridge转换器生成的Payload一致,但执行json.loads(event)时报错(定时任务通过转换器执行正常)。

测试事件配置

{
    "time": "2023-03-26T02:05:00Z",
    "table": "T_Test"
}

Lambda代码

import os
import sys
import json
from datetime import datetime, date, timedelta

def lambda_handler(event, context):
    
    print('event: ', event)
    payload = json.loads(event)
    dateFormatter = "%Y-%m-%dT%H:%M:%S%z"
    time = payload['time']
    table = payload['table']
    tables = table.split(',')
    for table in tables: 
        print(table) ..

错误信息

[ERROR] TypeError: the JSON object must be str, bytes or bytearray, not dict

疑问

我们知晓测试事件JSON存在问题,但不确定原因。请问能否仅修改测试事件而非Lambda代码来解决该错误?

已验证解决方案

修改测试事件为如下格式后执行正常:

"{ \"time\": \"2023-03-26T02:05:00Z\" , \"table\": \"T_Test\" }"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:32:14