![](/img/trans.png)
[英]C# How do i configure AWS API Gateway parameters to map to a basic AWS Lambda Function?
[英]How do I map AWS API Gateway query string to C# AWS Lambda function?
我有一个使用 GET 请求从 API 网关调用的 C# lambda 函数。
[LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))]
public ResponseModel MyFunction(RequestModel request)
{
return new ResponseModel { body = "Hello world!" };
}
public class RequestModel
{
[JsonProperty("a")]
public string A { get; set; }
[JsonProperty("b")]
public string B { get; set; }
}
public class ResponseModel
{
public int statusCode { get; set; } = 200;
public object headers { get; set; } = new object();
public string body { get; set; } = "";
}
如何将发送到 API 网关的查询字符串参数映射到MyFunction
的RequestModel
参数?
我已经用参数调用了该函数,但它们似乎没有通过。 是否有等待使用 C# lambda 函数实现此目的?
谢谢,
克里斯
尝试把它放在你的RequestModel
:
public class RequestModel
{
[JsonProperty("queryStringParameters")]
public Dictionary<string, string> QueryStringParameters { get; set; }
}
然后访问查询字符串值作为request.QueryStringParameters["foo"]
等。
如果您在 API Gateway 中为您的资源和方法选中了Use Lambda Proxy integration
框(我怀疑您这样做了,因为您已经使用statusCode
、 headers
和body
字段构建了您的响应对象),则会记录相应的请求对象结构在用于代理集成的 Lambda 函数的输入格式中,深埋在 AWS 的文档中。 还有其他可用的字段,如正文、标题、HTTP 动词等。
我的理解是,您还可以创建自定义 Payload Mapping 以将请求的不同部分映射到自定义 JSON 对象,但这样做需要比使用内置 Lambda 代理进行更多配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.