如何从AWS Lambda Python函数中检索URL查询字符串参数?
如何从通过API网关提供的AWS Lambda函数中访问URL查询字符串参数 我有两个API网关+Lambda函数设置,所以我可以从公共URL调用它。我的Python函数很简单:如何从AWS Lambda Python函数中检索URL查询字符串参数?,python,amazon-web-services,aws-lambda,aws-api-gateway,Python,Amazon Web Services,Aws Lambda,Aws Api Gateway,如何从通过API网关提供的AWS Lambda函数中访问URL查询字符串参数 我有两个API网关+Lambda函数设置,所以我可以从公共URL调用它。我的Python函数很简单: def lambda_handler(event, context): print('event:', event) print('context:', context) 我已经将API的GET“Method Request”处理程序配置为通过“abc”querystring参数 我还将API的GET
def lambda_handler(event, context):
print('event:', event)
print('context:', context)
我已经将API的GET“Method Request”处理程序配置为通过“abc”querystring参数
我还将API的GET“Integration Request”处理程序配置为从“method.Request.querystring.abc”映射“abc”
但是,当我访问我的URL时,例如,记录的唯一内容是:
event: {}
context: <bootstrap.LambdaContext object at 0x7fc7a6cb0850>
事件:{}
背景:
我做错了什么?为什么没有在
事件
字典中传递“abc”检查在集成请求中使用Lambda代理集成
,让它传递事件
中的所有请求详细信息我有一个类似的问题,我知道这是多么令人沮丧。使用此映射模板:
{
"method": "$context.httpMethod",
"body" : $input.json('$'),
"headers": {
#foreach($param in $input.params().header.keySet())
"$param": "$util.escapeJavaScript($input.params().header.get($param))" #if($foreach.hasNext),#end
#end
},
"queryStringParameters": {
#foreach($param in $input.params().querystring.keySet())
"$param": "$util.escapeJavaScript($input.params().querystring.get($param))" #if($foreach.hasNext),#end
#end
},
"pathParameters": {
#foreach($param in $input.params().path.keySet())
"$param": "$util.escapeJavaScript($input.params().path.get($param))" #if($foreach.hasNext),#end
#end
}
}
然后您会发现您的事件如下所示:
{
"method":"GET",
"body":{
},
"headers":{
},
"queryParams":{
"id":"459463732",
"command":"join_session"
},
"pathParams":{
}
}
上下文用于其他信息,例如IP地址和超时设置