如何从scdf shell将参数传递给组合任务?

时间:2019-01-28 05:19:39

标签: spring-cloud spring-cloud-dataflow

我正在尝试通过scdf shell启动组合任务。参数未正确传递给子任务

合成任务定义:

  

composited-task --graph ='app1 && app2'

从shell启动的命令:

  

任务启动组成任务名称-参数“ --name = test”

参数在组合任务jar中而不是子任务中传递和执行,并且失败。在使用网络用户界面时,有一个名为“ composited-task-arguments”的选项,可以将参数识别为子任务的参数。

Web UI中的组合任务定义:

  

composited-task --graph ='app1 && app2'--composed-task-arguments ='-name = test'

-composited-task-arguments在数据外壳中无法识别。仅--arguments有效。如何仅将参数传递给数据外壳中的子任务?

1 个答案:

答案 0 :(得分:1)

Launching a Composed Task节明确介绍了需要从Shell传递属性和参数到子任务的场景。

要特别将任意参数传递给子任务,您仍然必须使用--arugments属性,但是值将通过composed-task-arguments属性传递。这是一个例子。

创建:

  

数据流:>任务创建组合任务-定义“ t1:时间戳&& t2:时间戳”

启动:

  

数据流:>任务启动composited-task --arguments“ --composed-task-arguments = foo =一个小节=两个”

通过此任务启动,t1t2任务应该在运行时都收到了“ foo = one”和“ bar = two”属性。