在 Spring 云数据流中部署 Scriptable-Transform 时出错:ParserException
Error Deploying Scriptable-Transform in Spring Cloud Data Flow : ParserException
我正在尝试使用基于 kafka 的可编写脚本的转换在 spring 云数据流中构建一个流。我按照这里的说明操作:
https://docs.spring.io/spring-cloud-stream-app-starters/docs/Celsius.SR2/reference/htmlsingle/#spring-cloud-stream-modules-scriptable-transform
我的流定义如下所示:
:SCDF_SORUCE > scriptable-transformer --language=ruby --script="return ""#{payload} extended"";" > :SCDF_DESTINATION
"scriptable-transformer" 应用已使用以下 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
- 船长服务器:1.0.7.RELEASE
我相信您指的是 scriptable-transform
(不可编写脚本的转换器)应用程序?
无论如何,我已经尝试过了,并且可以在 Skipper 模式下使用相同的转换表达式时确认问题(表达式与经典模式下一样工作)。
但是,如果您将双引号替换为单引号,我相信它会解决问题。使用 Kafka,Skipper 遵循管道对我来说效果很好:
time | scriptable-transform --scriptable-transformer.language=ruby --scriptable-transformer.script="return '#{payload} extended';" | log
我将进一步调查以确定这是文档问题还是代码问题。与此同时,您能否尝试上面提到的解决方法,让我知道它是否解决了问题?
谢谢
我正在尝试使用基于 kafka 的可编写脚本的转换在 spring 云数据流中构建一个流。我按照这里的说明操作:
https://docs.spring.io/spring-cloud-stream-app-starters/docs/Celsius.SR2/reference/htmlsingle/#spring-cloud-stream-modules-scriptable-transform
我的流定义如下所示:
:SCDF_SORUCE > scriptable-transformer --language=ruby --script="return ""#{payload} extended"";" > :SCDF_DESTINATION
"scriptable-transformer" 应用已使用以下 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
- 船长服务器:1.0.7.RELEASE
我相信您指的是 scriptable-transform
(不可编写脚本的转换器)应用程序?
无论如何,我已经尝试过了,并且可以在 Skipper 模式下使用相同的转换表达式时确认问题(表达式与经典模式下一样工作)。
但是,如果您将双引号替换为单引号,我相信它会解决问题。使用 Kafka,Skipper 遵循管道对我来说效果很好:
time | scriptable-transform --scriptable-transformer.language=ruby --scriptable-transformer.script="return '#{payload} extended';" | log
我将进一步调查以确定这是文档问题还是代码问题。与此同时,您能否尝试上面提到的解决方法,让我知道它是否解决了问题?
谢谢