首页 > 解决方案 > 格式化 AWS lambda 请求的 Python 错误

问题描述

我必须使用 boto3 调用 AWS lambda。我愿意:

client = boto3.client("lambda")

dtime1 = str(datetime.datetime.now())
#After some computations
dtime2 = str(datetime.datetime.now())

elapsed =  time.time() - start_time

payload = {"key_id":"1",
        "data_start":dtime1,
        "data_stop":dtime2,
        "elapsed_t": int(elapsed)}

r = client.invoke(
            FunctionName='mylambda',
            InvocationType='RequestResponse',
            Payload=bytes(str(payload), 'utf-8')
        )

print(r.read())

但是当我运行它时会发生错误:

“调用 Invoke 操作时发生错误(InvalidRequestContentException):无法将请求正文解析为 json:意外字符('''(代码 39)):在 [Source: [B @4cb02e4e;行:1,列:3]"

我该如何解决我的问题?

提前致谢

标签: pythonjsonaws-lambdapayload

解决方案


如果要将 JSON 对象作为字符串传递,可以使用https://docs.python.org/3/library/json.html中所述的 json.dumps(payload) 。


推荐阅读