1

I have a data source which generates XMLs in real time. While checking the Kinesis Firehose integration using kinesis agent for the real time analytics of this XML, I found that Kinesis agent considers each line in the source file as a single record. For example, Kinesis found 6 records in the given sample XML

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Now, If I have to perform data transformation on the input XMLs using lambda. How do I do that since kinesis agent is overlooking the structure of the XML?

Here is the Kinesis agent log to refer:

2020-07-08 02:38:03.955+0000  (FileTailer[fh:POCKinesis:/var/log/cadabra_xml/*.xml].MetricsEmitter RUNNING) com.amazon.kinesis.streaming.agent.tailing.FileTailer [INFO] FileTailer[fh:POCKinesis:/var/log/cadabra_xml/*.xml]: Tailer Progress: Tailer has parsed 6 records (236 bytes), transformed 0 records, skipped 0 records, and has successfully sent 6 records to destination.
2020-07-08 02:38:03.957+0000  (Agent.MetricsEmitter RUNNING) com.amazon.kinesis.streaming.agent.Agent [INFO] Agent: Progress: 6 records parsed (236 bytes), and 6 records sent successfully to destinations. Uptime: 870056ms
Sains
  • 457
  • 1
  • 7
  • 19

0 Answers0