AWS简单Lambda函数

时间:2019-06-30 12:07:51

标签: amazon-web-services aws-lambda aws-api-gateway

我正在尝试学习Lambda,但我正在努力使用一个简单的函数,该函数将字符串作为输入参数,并将其大写:

它是用C#编写的。

    public class Function
    {
        public string FunctionHandler(string input, ILambdaContext context)
        {
            return input?.ToUpper();
        }
    }

然后我用get请求设置一个API网关。它具有针对集成请求的映射模板,如下所示:

{
    "input":$input.params("text")
}

我正在尝试在url上调用它:

https://xxxxxxx.execute-api.xxxxxxx.amazonaws.com/Prod?test=hello

但是我返回了错误:

  

{   “ message”:“无法将请求正文解析为json:意外字符(\'} \'(代码125)):在[Source:(byte [])\\ {\ n \ n \” input \“:\ n \ n} \”;行:5,列:2]“}

1 个答案:

答案 0 :(得分:0)

正如Joaofs在评论中所建议的那样,解决方法是使输入到我的函数处理程序中的类型复杂。然后它开始神奇地工作。

由于某种原因,传递原始字符串在我的本地机器上运行正常(使用SAMS测试工具),但是在AWS内使用它时不起作用。

这是我的新示例代码:

public class Employee
{
   public string Name { get; set; }
}

以及员工类型定义:

{{1}}