【发布时间】:2025-12-05 20:45:02
【问题描述】:
我正在创建一个 Lambda 函数,它将查询字符串信息导入数据库,但在我的 python 代码中访问查询字符串本身时遇到了一些问题。我已经在 API Gateway 中设置了正确的字符串变量,并且还从集成请求部分启用了 Lambda 代理集成。
一些文章和之前的回复说我应该这样做:
event["queryStringParameters"]['querystring1']
我已经设置了一个处理程序,我很好奇如何将请求正文传递给函数my_handler
这是代码的sn-p:
import logging, traceback, os
#environment variables
ep = os.environ["EP"]
p = os.environ["PORT"]
du = os.environ["USER"]
pw = os.environ["PASSWORD"]
db = os.environ["DATABASE"]
#query string variables
def my_handler(event):
servername = event["queryStringParameters"]["servername"]
hostDesc = event["queryStringParameters"]["description"]
hostRegion = event["queryStringParameters"]["region"]
response = servername + hostDesc + hostRegion
return {
'status code' : 200,
'body' : json.dumps(response)
}
【问题讨论】:
-
操作事件数据的代码需要在处理函数中:docs.aws.amazon.com/lambda/latest/dg/python-handler.html
-
以
event作为参数之一的 lambda 处理函数在哪里? -
我已将查询字符串变量部分更改为从事件处理程序中提取。它在上面的代码中列出。我现在面临的问题是将请求正文放入处理程序。我想我可以调用这个函数并以某种方式传递它,但我只是在寻找到请求库的链接。如果我已经使用 JSON 请求正文运行 Lambda 函数,这似乎是多余的。有什么想法吗?
标签: python amazon-web-services aws-lambda aws-api-gateway query-string