首页 > 解决方案 > 如何将 JSON POJO 写入 SCDF 中的 s3 sink?

问题描述

我像这样创建了一个流SCDFs3-source | my-processor | s3-sink
这个想法是在 s3 存储桶中处理 XML 源文件,在我的处理器中转换和丰富数据,并在另一个 s3 存储桶中写出 JSON 文件。

SCDF 2.7.1在版本中的 s3 入门应用程序中运行良好3.0.0。但它不再适用于SCDF 2.9.1s33.1.1应用程序。

我在同一主题上看到了这个已关闭的问题:https ://github.com/spring-cloud/stream-applications/issues/74已经有一年了,但问题似乎仍然存在。

无论来源是什么,从我的处理器中序列化 JSON 字符串中的 POJO 不再适用于不再支持字符串有效负载的 s3 接收器。错误信息是:

不支持的负载类型:[class java.lang.String]。上传请求唯一支持的有效负载是 java.io.File、java.io.InputStream、byte[] 和 PutObjectRequest

为什么 s3 sink 不再支持字符串有效负载?编码问题?
这是一个错误吗?
如果不是,那么处理这个问题的正确方法是什么?添加一个额外的转换应用程序只是为了更改 byte[] 中的字符串似乎有点痛苦和不必要的资源消耗。

标签: amazon-s3spring-cloud-dataflowminio

解决方案


推荐阅读