在python AWS lambda函数中访问来自python的json请求

Wil*_*gen 2 python json python-requests aws-lambda aws-api-gateway

我在 AWS API 网关中有一个 API,使用 lambda 代理集成连接到 python 中的 AWS Lambda 函数。在我的本地计算机上,我正在用 python 测试这个 API。我想向 api 发送字典,并让 api 返回字典中元素的函数。

我用来测试的python代码是:

import requests
import json

url = "https://p68yzl6gu6.execute-api.us-west-1.amazonaws.com/test/helloworld"

headers = {'data': [0,1]}

response = requests.post(url, json=headers)

print(response.text)
Run Code Online (Sandbox Code Playgroud)

由于我无法通过 requests.post 的标头参数发送列表,所以我想我会使用 json。当我尝试这个时,我收到一条 {"message": "Internal server error"}。这是我的 AWS lambda 函数(python):

import json

def lambda_handler(event, context):
    return {
        'statusCode': 200,
        'body': event['data']
    }
Run Code Online (Sandbox Code Playgroud)

查看日志,“数据”不是事件的关键。如何访问 AWS Lambda 函数中的列表?当我测试这个时,如何找出事件字典的样子?展望未来,我想发送一个包含字典和列表的大字典。这是正确的方法吗?

jel*_*csc 6

尝试

import json

def lambda_handler(event, context):
    body = json.loads(event['body'])
    return {
        'statusCode': 200,
        'body': json.dumps(body['data'])
    }
Run Code Online (Sandbox Code Playgroud)