gpt4 book ai didi

c# - 如何将查询字符串值从 AWS API Gateway 传递到 Lambda C# 函数

转载 作者:行者123 更新时间:2023-12-04 03:04:17 29 4
gpt4 key购买 nike

我有一个 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 网关:

  1. 创建了一个新的 API
  2. 创建了一个名为“myclass”和路径为“/myclass”的新资源
  3. 为资源创建了一个新的 GET 方法,使用“Lambda 函数”作为集成类型,并指向我的 Lambda 函数。

我希望能够像这样调用我的 Lambda 函数(不在请求中传递任何指定的 header ): https://xxx.execute-api.us-east-2.amazonaws.com/prod/myclass?paramA=valueA&paramB=valueB

我不确定如何让我的查询字符串参数传递给 lambda 函数。无论我尝试什么,request.QueryStringParameters 始终为 null。

从这里开始的正确步骤是什么?

最佳答案

您需要为您的请求配置url查询字符串参数。

  1. 进入API网关

  2. 点击您合适的方法,即 GET 方法

  3. 转到方法执行

  4. 在方法执行中,选择 URL 查询字符串参数。

  5. 添加paramA、paramB等查询字符串参数

  6. 现在转到集成请求选项卡

  7. 选择 body 映射模板,内容类型application/json

  8. 生成如下模板

    {
    "paramA": "$input.params('paramA')",
    "paramB": "$input.params('paramB')"
    }
  9. 在 lamda 函数中成对接受这个键值。

希望这会有所帮助。

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

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