【发布时间】:2020-11-28 07:25:00
【问题描述】:
我在 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)
由于我无法通过 requests.post 的标头参数发送列表,我想我会使用 json。当我尝试这个时,我得到一个 {"message": "Internal server error"}。这是我的 AWS lambda 函数(python):
import json
def lambda_handler(event, context):
return {
'statusCode': 200,
'body': event['data']
}
查看日志,“数据”不是事件的关键。如何访问 AWS Lambda 函数中的列表?测试时如何找出事件字典的样子?展望未来,我想发送一个包含字典和列表的大字典。这是正确的做法吗?
【问题讨论】:
-
尝试通过在 lambda_handler 方法中调用 event.keys() 来显示事件键,看看会弹出什么。
-
我应该在哪里做呢?它在哪里说事件['数据']?如果我这样做并调用我的 python 函数,我仍然会收到一个内部服务器错误,这并没有真正的帮助..
-
返回声明上方
-
谢谢,如果我这样做,我将如何/在哪里看到该行的输出?
标签: python json aws-lambda python-requests aws-api-gateway