根据文件名运行给定子作业的合适语法是什么?我的工作是这样的:
tWaitForFile ---iterate-> tFileCopy ---ifFileNameContains123-> tRunJob1 ifFileNameContains456-> tRunJob2
在RunIf触发器上最好使用正则表达式吗?
在这种情况下,我倾向于在tFileCopy之后放一个tMap,并从中获得两个输出。然后打开每个输出表上的表达式面板,输入input_row.FileName.toLowerCase().contains("123")
,并将此输出连接到tRunJob1,然后将input_row.FileName.toLowerCase().contains("456")
连接到tRun Job2。
这使得它可以很容易地扩展为更多的输出,并明确地声明您正在第一个子作业中查找包含"123"的文件名,在第二次运行作业中查找含有"456"的文件名称。
在RunIf触发器中使用该表达式应该很好,但正如我所说,我倾向于使用tMap显式拆分流,这会给您留下更多的选择(此外,它还允许在组件中进行内置测试)。