似乎微不足道,但我无法让它工作:我将编码为JSON对象的数据发送到调用Firehose的API网关。 S3中生成的文件包含一行中的所有JSON对象。我已经读到应该可以添加新行,但无论我尝试什么,都会出现错误或者根本不做任何事情。 mappping模板看起来像这样
{
"DeliveryStreamName": "file-datadump",
"Record": {
"Data": "$util.base64Encode($input.json('$'))"
}
}
任何想法该怎么做?
答案 0 :(得分:3)
答案非常容易。只需在映射模板中添加这样的换行符。
#set($payload = "$input.json('$')
")
{
"DeliveryStreamName": "stream-name",
"Record": {
"Data": "$util.base64Encode($payload)"
}
}
答案 1 :(得分:1)
不再是当前的! - 请勿使用
我遇到了完全相同的问题。根据此helpful git issue,您可以通过附加base64编码的换行符来解决它,例如:
{
"DeliveryStreamName": "$stageVariables.delivery_stream",
"Record": {
"Data":"$util.base64Encode($input.params().querystring)Cg=="
}
}
这不太理想,但希望有所帮助!