在Spring Cloud数据流中部署可脚本化转换时出错:ParserException



我正试图用基于kafka的可脚本化转换在spring-cloud数据流中构建一个流。我遵循了此处的说明:
https://docs.spring.io/spring-cloud-stream-app-starters/docs/Celsius.SR2/reference/htmlsingle/#spring-云流模块可脚本化转换

我的流定义如下:

:SCDF_SORUCE > scriptable-transformer --language=ruby --script="return ""#{payload} extended"";" > :SCDF_DESTINATION

"可编写脚本的转换器"应用程序使用以下uri注册:
maven://org.springframework.cloud.stream.app:scriptable‑transform‑processor‑kafka:2.0.0.RELEASE

当我尝试部署流时,我在船长日志中看到以下错误:

org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping
in 'reader', line 13, column 5:
"spring.metrics.export.triggers. ... 
^
expected <block end>, but found Scalar
in 'reader', line 18, column 40:
... riptable-transformer.script": ""return ""#{payload} extended"";""
^
at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:569) ~[snakeyaml-1.17.jar!/:na]

我也尝试过使用js和python脚本,但得到了类似的结果。

如何修复此错误?

以下是正在使用的scdf版本的简短摘要:
-scdf本地服务器:1.5.2.RELEASE
-capper服务器:1.0.7.RELEASE

我相信你指的是scriptable-transform(不可编写脚本的transformER(应用程序?无论如何,我已经尝试过了,当在Skipper模式中使用相同的转换表达式时,可以确认这个问题(表达式的工作原理与经典模式相同(。

然而,如果你用单引号代替双引号,我相信它会解决问题。以下管道对我来说很好,Kafka,Skipper:

time | scriptable-transform --scriptable-transformer.language=ruby --scriptable-transformer.script="return '#{payload} extended';" | log

我将进一步调查,以确定这是文档问题还是代码问题。同时,你能试着在上面提到解决方法,并让我知道它是否解决了问题吗?

感谢

最新更新