Header Match端口将决策形状添加到流中,能够根据文件内的头部信息将文件发送到两个已定义的端口之一。
概览
Header Match端口在工作流中似为叉子。 根据文件中指定的头部是否与定义的值匹配,文件沿着流中的不同路径发送。 匹配的文件沿着稳定的蓝色流路径发送,而不匹配的文件沿着虚线的灰色流路径发送。
对于文件中已经存在的头部,只需配置端口以检查所需的头部名称,然后将头部值与指定的值进行比较。 此外,可以通过脚本将自定义头部添加到文件中,以促进基于自定义数据的动态路由。
端口配置
本文包含所有可配置的端口属性。
配置
与端口核心操作相关的设置。
类型 | 标题的数据类型,将用于匹配文件。 支持数据类型为字符串,数字和日期时间格式。 |
标题名称 | 用来匹配文件的标题名称。 如果在输入文件中找到具有此名称的标题,则该标题的值将与“值”设置进行比较。 |
运算符 | 用于比较输入文件中的标题值和值设置的逻辑运算符。 |
值 | 从输入文件解析的标题值将与此设置进行比较。 比较类型取决于运算符设置。 |
本地文件夹
这些配置确定将待处理文件、已处理文件存在磁盘上的文件夹,以及输出后的文件夹放置何处。
输入文件夹(Send) | 端口可以处理放置在此文件夹中的文件。 如果启用了“自动化”,则端口将自动轮询此位置以处理文件。 |
输出文件夹(Receive) | 端口完成文件处理后,结果将放置在此文件夹中。 如果端口已连接到流程中的另一个端口,则文件将不会保留在此处,而是会传递到所连接端口的“输入/发送”文件夹中。 |
处理后文件夹(Sent) | 处理文件后,如果启用了“保存到Sent文件夹”,端口会将已处理文件的副本放置在此文件夹中。 该文件的副本将不会传递到流中的下一个端口。 |
其他配置
先前分类中包含的配置
保留消息副本 已处理文件的日志条目是否将包括文件本身的副本。
保存到Sent文件夹 端口处理的文件是否应复制到端口的“Sent”文件夹。
自动化
端口自动处理文件的相关配置。
Send 到达端口的消息是否将被自动处理。
Custom Headers
通过portSetMessageHeader脚本操作将自定义标题添加到文件中。 可以在任何端口的事件脚本或专用脚本端口中使用此操作。 例如,可以将以下脚本放置在流中的标题匹配端口之前的任何端口的After Receive事件中:
1 2 |
<rsb:set attr="Header:custom_header" value="myvalue" /> <rsb:call op="portSetMessageHeader" /> |
还可以用于动态确定自定义标题,然后可以使用上述操作将此动态值添加为自定义标题。 作为一个简单的示例,可能需要根据文件中的特殊字符来路由文件,可以使用fileReadLine操作读取该特殊字符。 以下脚本在文件第二行的开头查找特殊字符,并将其添加为自定义标题:
1 2 3 4 5 6 7 8 9 10 11 |
<rsb:set attr="special_character" value="default_value" /> <rsb:set attr="file" value="[FilePath]" /> <rsb:call op="fileReadLine"> <rsb:if exp="[file:line | equals(2)]"> <rsb:set attr="special_character" value="[file:data | substring(0,1)]" /> </rsb:if> </rsb:call> <rsb:set attr="Header:custom_header" value="[special_character]" /> <rsb:call op="portSetMessageHeader" /> |
在文件上运行上述脚本后,Header Match 端口可以根据特殊字符沿不同的流路径路由文件。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。