无法从AWS API请求访问aws lambda函数中的字符串值

时间:2017-02-17 06:46:09

标签: json node.js amazon-web-services aws-lambda aws-api-gateway

我创建了一个示例AWS lambda函数,并将此函数与AWS API集成。

我在API中编写了一个post方法,并选择了application / JSON,其请求集成映射如下所示。

protected void Page_Load(object sender, EventArgs e)
    {
        FileUpload1.Attributes["onchange"] = "imagepreview(this)";
        if (!IsPostBack)
        {
            lblMessage.Visible = false;
        }
    }

songTitle作为参数(application / JSON)发送,并请求API。

但是我收到$ input.params()为空。

由于我是新手,我不知道正确的方法是什么。

请指导访问这些参数

2 个答案:

答案 0 :(得分:0)

我不确定这是否是您的问题,但单引号与JSON中的双引号不同。映射模板中未使用$字符进行转义的任何内容都按原样写入实际有效负载中。

应该是:

{
    "songTitle":"$input.params('songTitle')"
}

编辑:如果这不起作用,请通过在请求中将application-Type标头作为application / json发送来进行测试。如果你根本不发送Content-Type,它应该默认为application / json映射模板。

答案 1 :(得分:0)

从请求标头部分读取输入参数(用于请求集成映射) 语法:

{
    'songTitle':"$input.params('songTitle')"
}

如果我们想从请求正文部分读取参数,我们应该写为

{
    'songTitle':"$input.path('$.songTitle')"`enter code here`
}