我是aws lambda和api网关的新手,我正在尝试向lambda函数传递一个json字符串。
但是,lambda不是用字符串调用的。
这是lambda。它获取一个对象作为输入,并返回类的字符串表示形式和对象的值。
public class TestMapping implements RequestHandler<Object, String> {
@Override
public String handleRequest(Object input, Context context) {
return "inputClass = " + input.getClass() + ", input = " + String.valueOf(input);
}
}
api网关的映射模板是
#set($allParams = $input.params().querystring)
{
"resourcePath" : "$context.resourcePath",
"httpMethod" : "$context.httpMethod",
"header": "$input.params().header",
"path": "$input.params().path",
"inputJson": "$input.json()",
"queryParameters" : [
#foreach($type in $allParams.keySet())
{"name": "$type", "value": "$allParams.get($type)"}#if($foreach.hasNext),
#end
#end
]
}
api网关测试中的日志显示:
Endpoint request body after transformations: {
"resourcePath" : "/testmapping",
"httpMethod" : "GET",
"header": "{}",
"path": "{}",
"inputJson": "",
"queryParameters" : [
{"name": "month", "value": "6"},
{"name": "employeeId", "value": "1"}
]
}
我希望json字符串被传递给lambda(作为字符串对象),但是TestMapping lambda返回的不是这个
"inputClass = class java.util.LinkedHashMap, input = {resourcePath=/testmapping, httpMethod=GET, header={}, path={}, inputJson=, queryParameters=[{name=month, value=6}, {name=employeeId, value=1}]}"
如您所见,LinkedHashMap被传递给lambda。
我能做什么,以json字符串作为值获取传递给lambda的字符串对象?
API网关映射仅支持发送JSON对象(当发送到Java Lambda时,会将其转换为LinkedHashMap)。只需将LinkedHashMap转换为Lambda处理程序中的字符串即可。
这个问题中有一个如何做到这一点的例子,看起来像这样:
String jsonString = new JSONObject(data).toString()
我有一个C#方法,我已经成功地发布为AWS Lambda函数。它看起来像这样: 我已通过web界面执行以下操作来配置API网关: 创建了新的API 创建了一个名为“myclass”且路径为“/myclass”的新资源 为资源创建了一个新的GET方法,使用“Lambda函数”作为集成类型,并指向我的Lambda函数 我希望能够像这样调用Lambda函数(无需在请求中传递任何指定的头):https:/
我试图在php脚本和c程序之间传递参数。我的php脚本如下所示 然后我想我的c程序返回给我一个字符串(但我真的不知道怎么做),你能帮忙吗?
我正在尝试将API网关与Lambda代理集成, API服务器接收带有以下参数的请求,即邮政编码和住所 代码:
问题内容: 背景: 我创建了一个非常简单的前端,用户可以在其中输入字符串。输入并单击“检查”按钮后,我想将此字符串作为JSON传递给python字符串,它将在其中进行SQL查找。根据SQL外观,python脚本应传递一个布尔值,该值应更改?到✔或✘。 题: 一旦按下“检查”按钮作为JSON到Python脚本,然后如何将字符串从Python传递到HTML,将?更改为✔或✘,如何传递字符串? 研究:
如何在Lambda函数中引用API网关GET查询字符串参数? 当我进行测试时,我可以使用 当我使用post进行测试时,我可以使用body参数作为带有 的事件,使用get请求,但我没有body。我如何使用查询字符串参数,然后在请求中引用它们。我使用什么事件或其他属性来获取查询参数,或者我需要进行什么设置或更改? 在测试时,我引用了event[“username”],对于作为查询字符串参数传递它的AP