首页 > 解决方案 > 如何使用 Dataflow 和 SpringBoot 框架通过 JSON 格式的 API 端点返回文本文件数据?

问题描述

我有一个 input.txt 文件如下:

"John"
"Sena"
"01/01/1976"
"Surrey"

我想要一个端点,它将以以下格式返回数据:

{
  "firstName": "John",
  "lastName": "Sena",
  "dateOfBirth": "01/01/1976",
  "placeOfBirth": "Surrey"
}

我想使用 GCP Dataflow 处理文本文件和 Spring Boot 框架以获得最终端点。

现在我可以通过数据流作业读取 input.txt 文件。接下来我想通过端点返回数据。

我应该如何进行?请有人可以帮助我。

标签: spring-bootgoogle-cloud-dataflowdataflow

解决方案


如果输入文件是逗号分隔的文件,示例代码如下所示:-

class Transaction(beam.DoFn):
    def process(self, element):
    -->>***Conversion of data to JSON based on element-number*** <<---
    return [{JSON-Data}]

    data_loading = (
        p1
        |'Read from File' >> beam.io.ReadFromText(known_args.input,skip_header_lines=0)
        |'Splitting of Fields' >> beam.Map(lambda record: record.split(','))
        |'Concerting to JSON' >> beam.ParDo(Transaction())
        |'Pushing on endpoint' >> ...... end point ...
    )

推荐阅读