如何从通过API网关提供的AWS Lambda函数中访问URL查询字符串参数?
我有两个API网关Lambda函数设置,所以我可以从公共URL调用它。我的Python函数很简单:
def lambda_handler(event, context):
print('event:', event)
print('context:', context)
我已经配置了API的GET“方法请求”处理程序来传递“abc”querystring参数。
我还将API的GET“Integration Request”处理程序配置为从“method.Request.querystring.abc”映射“abc”。
但是,当我访问我的URL时,例如https://myapp.execute-api.us-east-1.amazonaws.com/prod/myfunc?abc=123,唯一记录的是:
event: {}
context: <bootstrap.LambdaContext object at 0x7fc7a6cb0850>
我做错了什么?为什么没有在事件
字典中传递“abc”?
我也有类似的问题,我知道这是多么令人沮丧。使用此映射模板:
{
"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地址和超时设置。
选中集成请求中的使用Lambda代理集成
,使其在事件中传递所有请求详细信息
。
问题内容: 从Java脚本的路径中删除查询字符串的简便方法是什么?我已经看到了使用window.location.search的Jquery插件。我不能这样做:在我的情况下,URL是从AJAX设置的变量。 问题答案: 一个简单的方法是: 对于那些还希望在不存在querystring的情况下删除哈希(不是原始问题的一部分)的人,需要做更多的工作: 编辑 @caub(最初为@crl)建议了一个更简单的
问题内容: 用户可以在我的网站上使用HTML表单输入URL,因此他们可以输入以下内容:http : //www.example.com?test=123&random=abc,可以是任何内容。我需要提取某个查询参数的值,在本例中为“ test”(值123)。有没有办法做到这一点? 问题答案: 你可以用与这样的: 允许将URL分为不同的部分(方案,主机,路径,查询等);在这里,我们使用它仅获取查询(
问题内容: 从格式如下的URL查询字符串中获取参数的“较少代码”方法是什么? www.mysite.com/category/subcategory?myqueryhash 输出应为: 我知道这种方法: 问题答案: 包含您要查找的数据。 文件资料 **php.net:$** _SERVER-手册
如何在我的routes.jsx文件中定义一个路由来捕获参数值,这些参数值是在从服务器重定向后由Twitter的单点登录进程生成的URL中获得的? 我尝试了以下路由配置,但未捕获提到的参数:
我有url从中我需要得到的值. “TypeError:无法读取未定义的属性'query'”
问题内容: 我有一个HTML表单字段,其中包含一些URL字符串作为值。示例值是: 等等 如何仅从这些URL /值中获取参数? 请注意,我没有从浏览器地址栏中获取这些字符串。 问题答案: 您可以使用和。