Skip To Content

有哪些选项?

选项是 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. 在服务设计器中,将选项元素从新元素列表拖放到画布上。 选项对话框随即打开。

    选项对话框

  2. 为新选项元素输入一个名称
    注:

    在一个选项中,可以按指定顺序将一个或多个条件语句应用于事件数据。 每个条件语句均使用唯一名称进行标识,并具有一个数字(以 1 开头),该数字指示条件语句将评估事件数据的顺序。

  3. 单击添加以添加条件语句。

    添加条件语句

  4. 选项属性对话框中,按照以下步骤添加一个 when 子句。

    选项属性对话框

    1. 为条件语句输入一个名称
    2. 单击添加表达式 添加表达式按钮 以添加和配置 when 子句。
    3. 再次单击添加表达式 添加表达式按钮 以添加和配置其他 when 子句。
    4. 单击确定以保存条件语句。
  5. 根据需要重复上述步骤 3 和 4 以添加其他条件语句。
  6. 或者,选中其他复选框以定义其他路径。

    其他路径选项

    注:

    选中其他复选框以启用其他路径。 所有不符合 when 子句定义的条件的事件都将传递到其他路径。 如果取消选中其他复选框,则会删除所有不符合定义的 when 子句的事件记录。

  7. 单击确定以保存选项元素并将其添加到服务设计器画布。
  8. 将新选项元素连接到 GeoEvent 服务中的其他元素。

编辑选项

选项对话框提供了用于查看、编辑、删除和重新排序已配置的条件语句的选项。

  • 将鼠标悬停在信息按钮上以查看与条件语句相关联的 when 子句。
  • 单击编辑按钮以在子句中打开和编辑条件语句。
  • 单击删除按钮以删除条件语句。
  • 使用重新排序按钮以更改条件语句评估事件数据的顺序。

在 when 子句中使用过滤器

在 when 子句中,可以使用不同类型的过滤器来评估事件数据。 有关不同类型的过滤选项的详细信息,请参阅以下资源。