选项是 GeoEvent Services 的可配置元素,可根据指定条件将 GeoEvents 或事件记录路由到多个目的地之一。 选项是可配置的元素,它使用按顺序应用于事件记录的条件语句,与编程语言中的 if-else 语句相似。 除了条件语句之外,还可以为未通过指定条件语句列表的事件定义可选的最终路径。
选项如何工作?
如上所述,选项将指定 GeoEvent 可以采用的路径列表。 每个路径均由 when 子句评估,该子句定义事件必须通过的条件语句。 如果事件通过了 when 子句定义的条件,则它将遵循该路径。 如果一个事件没有通过 when 子句定义的条件,它会传递到下一个 when 子句(如果存在)。 选项中的 when 子句是按序列顺序处理的,并且所有子句均可以在选项元素中进行配置。
如果事件记录不符合 when 子句中指定的任何条件,则可以选择将其传递到其他路径。 如果启用了其他路径,则事件将传递到该路径,没有必须满足的条件。 如果未启用其他路径,则事件记录将被删除并且不会传递到任何路径。
注:
满足给定 when 子句中条件的事件记录将不会考虑任何后续的 when 子句或其他路径。
示例 1:交通工具监控
在此示例中,假定给定的数据源提供了不同类型的交通工具的事件数据,每种数据必须以不同的方式进行处理。 数据包含一个字段 (VehicleType),该字段包含有关三种不同类型的交通工具(飞机、火车或汽车)的信息。 使用选项元素,每个事件记录都可以基于交通工具类型路由到单独的处理工作流。 如果数据源发送的事件记录不是三种交通工具类型之一,例如“卡车”,则该事件将被删除。
请考虑以下适用于此示例的条件语句:
- 如果 VehicleType 等于飞机,则会将事件记录作为飞机进行处理。
- 如果 VehicleType 等于火车,则会将事件记录作为火车进行处理。
- 如果 VehicleType 等于汽车,则会将事件记录作为汽车进行处理。
- 如果 VehicleType 等于卡车,则会删除事件记录。
示例 2:扫雪车速度监控
在此示例中,假定数据源提供了扫雪车车队及其当前速度的事件数据。 在扫雪操作过程中,正常车速为每小时 25 到 35 英里。 低于此范围的任何偏差都表明扫雪车工作效率低下,高于此范围的任何偏差都可能损坏雪铲。
请考虑在扫雪车正在铲雪时适用的以下条件语句:
- 如果速度小于或等于每小时 24 英里,则扫雪车的状态将为低速。
- 如果速度大于或等于每小时 36 英里,则扫雪车的状态将为高速。
- 否则,扫雪车状态将为正常速度。
使用选项时的注意事项
使用选项时有许多注意事项,包括:
- 每个选项至少需要一个条件语句。
- 可以选择是否定义 otherwise 子句,默认情况下其处于禁用状态。
- 每个选项元素具有一个或多个父元素,并且该父元素必须是输入、过滤器或处理器。
- 每个 when 子句只能有一个目标元素,这意味着每个条件语句(包括 else)只能有一个传出路径。
- 如果用例需要将一个 when 子句的目标路由到多个元素(例如路由到两个单独的输出),请使用无操作处理器作为 when 子句的目标,然后从该处分支。
- 选项元素的目标必须为空(无目标)、处理器、过滤器或输出。
- 选项元素不能路由到其他选项元素,这意味着不能在 GeoEvent 服务中将两个选项元素放在一行中:
- 一个选项的输入不能是另一个选项的输出。
- 一个选项的目标不能是另一个选项。
- 如果用例需要将一个选项元素的目标路由到第二个选项元素:
- 则需要在两个选项元素之间使用一个无操作处理器。
- 或将第二个选项中的 when 子句包含在第一个选项中。
将选项添加到 GeoEvent 服务
要在 GeoEvent 服务中添加和配置选项元素,请按照以下步骤操作。
- 在服务设计器中,将选项元素从新元素列表拖放到画布上。 选项对话框随即打开。
- 为新选项元素输入一个名称。
注:
在一个选项中,可以按指定顺序将一个或多个条件语句应用于事件数据。 每个条件语句均使用唯一名称进行标识,并具有一个数字(以 1 开头),该数字指示条件语句将评估事件数据的顺序。
- 单击添加以添加条件语句。
- 在选项属性对话框中,按照以下步骤添加一个 when 子句。
- 为条件语句输入一个名称。
- 单击添加表达式 以添加和配置 when 子句。
- 再次单击添加表达式 以添加和配置其他 when 子句。
- 单击确定以保存条件语句。
- 根据需要重复上述步骤 3 和 4 以添加其他条件语句。
- 或者,选中其他复选框以定义其他路径。
注:
选中其他复选框以启用其他路径。 所有不符合 when 子句定义的条件的事件都将传递到其他路径。 如果取消选中其他复选框,则会删除所有不符合定义的 when 子句的事件记录。
- 单击确定以保存选项元素并将其添加到服务设计器画布。
- 将新选项元素连接到 GeoEvent 服务中的其他元素。
编辑选项
选项对话框提供了用于查看、编辑、删除和重新排序已配置的条件语句的选项。
- 将鼠标悬停在上以查看与条件语句相关联的 when 子句。
- 单击以在子句中打开和编辑条件语句。
- 单击以删除条件语句。
- 使用以更改条件语句评估事件数据的顺序。
在 when 子句中使用过滤器
在 when 子句中,可以使用不同类型的过滤器来评估事件数据。 有关不同类型的过滤选项的详细信息,请参阅以下资源。