Curl AWS API网关从正文中删除换行符
我的身体映射定义为:Curl AWS API网关从正文中删除换行符,curl,Curl,我的身体映射定义为: { "csv": "$input.body", "p1": false, "p2": "p3", "p3": "p4" } 使用 curl 'https://xxxxx.execute-api.us-west-2.amazonaws.com/prod/xxx?p3=aaa&p4=bbb' \ -XPOST -H "Content-Type: application/csv" -d @input.csv { "csv":
{
"csv": "$input.body",
"p1": false,
"p2": "p3",
"p3": "p4"
}
使用
curl 'https://xxxxx.execute-api.us-west-2.amazonaws.com/prod/xxx?p3=aaa&p4=bbb' \
-XPOST -H "Content-Type: application/csv" -d @input.csv
{
"csv": "l1c1,l1c2l2c1,l2c2l3c1,l3c2",
"p1": false,
"p2": "p3",
"p3": "p4"
}
其中input.csv包含
l1c1,l1c2
l2c1,l2c2
l3c1,l3c2
将以调用lambda函数结束
curl 'https://xxxxx.execute-api.us-west-2.amazonaws.com/prod/xxx?p3=aaa&p4=bbb' \
-XPOST -H "Content-Type: application/csv" -d @input.csv
{
"csv": "l1c1,l1c2l2c1,l2c2l3c1,l3c2",
"p1": false,
"p2": "p3",
"p3": "p4"
}
有没有办法不从正文中删除换行符$input.body应根据此处的文档评估为“原始有效负载”
还尝试使用$util.escapeJavaScript($input.body),但没有任何区别
解码$util.base64Encode($input.body)也会删除换行符
谢谢,来自curl's:
因此,从名为“foobar”的文件发布数据将使用--data@foobar完成。当--data被告知从这样的文件中读取时,回车符和换行符将被删除
另请参见:结果是--data或-d以URL编码的形式发送数据,从而去掉新行--在我的例子中,数据二进制是发送文件的正确方式