我有一个C#方法,我已成功发布为AWS Lambda函数。它看起来像这样:如何将查询字符串值从AWS API网关传递到Lambda C#函数
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函数(不传入请求的任何指定的头): https://xxx.execute-api.us-east-2.amazonaws.com/prod/myclass?paramA=valueA¶mB=valueB
我不确定如何让我的查询字符串参数通过传递给拉姆达功能。无论我尝试什么,request.QueryStringParameters始终为空。
这里的正确程序是什么?
嗨,那是我尝试过的一件事情 - 请问您可以更具体地了解我的身体映射模板或Lambda函数的具体含义? – cbp
请看看,https://aws.amazon.com/blogs/compute/using-api-gateway-mapping-templates-to-handle-changes-in-your-back-end-apis/ –
嗯,那链接已过时 - 我相信在撰写文章后,AWS界面在2016年发生了变化。不幸的是,遵循这些指令会导致相同的NullReferenceException。 – cbp