singer 的target 需要从stdin 的行数据,同时处理schema、record、state 消息
指南
- schema 需要进行关联stream records 数据的校验
- 一旦Target处理了State消息之前流中出现的所有数据,就将状态消息写入stdout。请注意,尽管State消息被发送到目标,但在大多数情况下,Target的进程实际上不会将其存储在任何地方或对其执行任何操作,而不是将其重复到stdout
- 目标应该能够处理嵌套字段的记录。根据Target的类型,记录可能需要展平(去嵌套)。有关示例,请参阅target-csv的flatten()函数。
说明
官方同时也提供了一个模版,我们可以方便的编写target singer-target-template
参考资料
https://github.com/singer-io/getting-started/blob/master/docs/RUNNING_AND_DEVELOPING.md