Body 映射模板 AWS lambda API

Body Mapping template AWS lambda API

我需要传递 2 个数组和 2 个变量。 API 到 LAmbda 函数

我每次都得到这个:

{"message": "Could not parse request body into json: Unexpected character (\',\' (code 44)): expected a valid value (number, String, array, object, \'true\', \'false\' or \'null\')\n at [Source: [B@5a648099; line: 5, column: 11]"}

我的模板映射:

{
    "items":
[
#foreach($elem in $input.params('items').split(','))
    {
        "ids": $elem.ids,

        "contents": $elem.contents
    }#if($foreach.hasNext),#end
#end
],
"QueryID": $input.params('QueryID'),
"nR": $input.params('nR')
}

尝试引用您的价值观:

{
    "items": [
    #foreach($elem in $input.params('items').split(','))
        {
            "ids": "$elem.ids",
            "contents": "$elem.contents"
        }#if($foreach.hasNext),#end
    #end
    ],
    "QueryID": "$input.params('QueryID')",
    "nR": "$input.params('nR')"
}

您似乎在尝试传递 "params" 字段中的项目。如果你每次都传入itemsQueryIDnR,只需输入$input.json('$')(仅此而已,删除所有其他内容,甚至周围的{}) .如果还是不行,参考@dave-maple的回答