2016-12-15 2 views
1

scheint trivial, aber ich kann es nicht zum Laufen bringen: Ich sende Daten, die als JSON-Objekte kodiert sind, zum API-Gateway, der Firehose aufruft. Die resultierenden Dateien in S3 enthalten alle JSON-Objekte in einer einzelnen Zeile. Ich habe gelesen, dass es möglich sein sollte, Zeilenumbrüche hinzuzufügen, aber was auch immer ich versuche, es gibt entweder einen Fehler oder es tut einfach nichts. Die Mapping-Vorlage sieht so aus:Wie man einen Zeilenumbruch in einer Mapping-Vorlage hinzufügt

{ 
    "DeliveryStreamName": "file-datadump", 
    "Record": { 
    "Data": "$util.base64Encode($input.json('$'))" 
    } 
} 

Irgendwelche Ideen, was zu tun ist?

+0

Hey, können Sie, wenn Sie keine anderen Ideen haben, diese Antwort akzeptieren? – rjmurt

Antwort

0

Die Antwort ist lächerlich einfach. Fügen Sie einfach einen Zeilenumbruch wie in der Mapping-Vorlage hinzu.

#set($payload = "$input.json('$') 
") 
{ 
    "DeliveryStreamName": "stream-name", 
    "Record": { 
     "Data": "$util.base64Encode($payload)" 
    } 
} 
2

Ich hatte genau das gleiche Problem. Per dieser helpful git issue, können Sie um ihn herum hacken durch eine Base64 codiert Newline Beispiel anhängt:

{ 
    "DeliveryStreamName": "$stageVariables.delivery_stream", 
    "Record": { 
     "Data":"$util.base64Encode($input.params().querystring)Cg==" 
    } 
} 

Es ist nicht ideal, aber die Hoffnung, das hilft!

Verwandte Themen