gpt4 book ai didi

c# - 如何将 AWS API Gateway 查询字符串映射到 C# AWS Lambda 函数?

转载 作者:行者123 更新时间:2023-11-30 23:17:41 24 4
gpt4 key购买 nike

我有一个使用 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 网关中为您的资源和方法选中了 Use Lambda Proxy integration 框(我怀疑您这样做了,因为您已经使用 statusCodeheadersbody 字段构建了响应对象),相应的请求对象结构已记录在 Input Format of a Lambda Function for Proxy Integration 中,深埋在 AWS 的文档中。还有其他字段可用,如正文、 header 、HTTP 动词等。

我的理解是,您还可以创建自定义负载映射以将请求的不同部分映射到自定义 JSON 对象,但这样做需要比使用内置 Lambda 代理更多的配置。

关于c# - 如何将 AWS API Gateway 查询字符串映射到 C# AWS Lambda 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41283289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com