测试lambda返回的结果与API网关测试和邮递员的结果不同

问题描述 投票:0回答:1

我有一个Lambda函数来提取Json中的键。

它可以从Lambda测试事件中提取密钥,但是如果我使用API​​网关方法test或Postman发送相同的Json正文,则无法提取。 Lambda代码如下:

def lambda_handler(event, context):

    if 'name' in event.keys():

这是我的lambda测试活动中的Json和我在邮递员中的帖子正文:

{
  "name"   : "bob",
  "age"    : "5"
}
json amazon-web-services aws-lambda postman aws-api-gateway
1个回答
0
投票

当API-Gateway将Postman有效负载发送到Lambda时,它会添加一堆额外的信息,您可以使用print(event)查看这些信息。如果要使用Lambda测试来模拟Postman有效负载,则需要将Lambda测试有效负载更改为相同。

尝试这样的事情:1.通过邮递员发送有效载荷,并在Lambda中使用print(event)查看该有效载荷的外观。2.将您在步骤(1)中获得的有效负载复制到Lambda测试用例中。

Voila,您的Lambda测试和Postman呼叫应产生相同的结果。

要访问Postman发送的JSON对象,您现在需要使用dict = json.loads(event['body'])

© www.soinside.com 2019 - 2024. All rights reserved.