我有一个 C# 方法,已成功将其发布为 AWS Lambda 函数。它看起来像这样:
public class MyClass
{
public async Task<APIGatewayProxyResponse> Test(APIGatewayProxyRequest request, ILambdaContext context)
{
return new APIGatewayProxyResponse
{
Body = "Body: " + request.Body
+ Environment.NewLine
+ "Querystring: " + (request.QueryStringParameters == null ? "null" : string.Join(",", request.QueryStringParameters.Keys)),
StatusCode = 200
};
}
}
我已执行以下操作来通过 Web 界面配置我的 API 网关:
- 创建了一个新的 API
- 创建了一个名为“myclass”和路径“/myclass”的新资源
- 为资源创建了一个新的 GET 方法,使用“Lambda 函数”作为集成类型,并指向我的 Lambda 函数。
我希望能够像这样调用我的 Lambda 函数(无需在请求中传递任何指定的标头):
我不确定如何将查询字符串参数传递给 lambda 函数。无论我尝试什么,请求.QueryStringParameters始终为空。
从这里开始正确的程序是什么?
您需要为您的请求配置 url 查询字符串参数。
前往API网关
单击您合适的方法,即GET
method
转到方法执行
在方法执行中,选择 URL 查询字符串参数。
添加查询字符串参数,如 paramA、paramB
现在转到集成请求选项卡
选择身体映射模板,内容类型 application/json
-
生成如下模板
{
"paramA": "$input.params('paramA')",
"paramB": "$input.params('paramB')"
}
在 lambda 函数中成对接受此键值。
希望这会有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)