19.2. 在轮询从 OData 服务返回数据时触发集成


要在从 OData 服务获取数据时触发集成执行,请在启动连接时将 OData 连接添加到简单集成。当集成运行时,OData 连接会按您指定的间隔轮询服务。当连接找到满足连接配置的数据时,连接会将数据传递给集成中的下一步。

前提条件

您创建了 OData 连接。

步骤

  1. 在左侧的 Fuse Online 面板中,单击 Integrations
  2. Create Integration
  3. Choose a connection 页面上,单击您要用来启动集成的 OData 连接。
  4. Choose an action 页面上,选择 Read action。
  5. 配置 Read 操作:

    1. Resource Collection 字段中,选择要查询的 OData 资源的名称。Fuse Online 从 OData 服务获取数据,以提供可用资源集合的列表。
    2. Entity Key Predicate 字段中,若要获取特定的实体,请通过指定其 key predicate 来识别您想要的实体。例如,指定诸如 UserName='Bob'Categories (1) 的内容。要获取多个实体,请将此字段留空。
    3. Query Options 字段中,输入您要应用到资源的查询。使用 OData 语法。例如,$filter=startswith (name, 'N') 返回资源中的每个实体的消息,其名称 字段以 N 开头。

      您可以指定 Entity Key PredicateQuery Options。如果您这样做,OData 服务会获取指定的实体,并将查询应用到该实体。例如,假设您将 Entity Key Predicate 设置为 UserName='russellwhyte'/Emails,并将 Query Options 设置为 $filter=contains ($it,'example')。连接会创建一个类似如下的请求:

      https://services.odata.org/TripPinRESTierService/People(UserName='russellwhyte')/Emails?$filter=contains($it, 'example')

      该服务返回包含域 示例 的 Russell 为什么的所有电子邮件地址。

    4. 选中 Filter Old Results 复选框,以只获取特定消息一次。
    5. 如果您希望连接返回单个消息而不是一组信息,请选择 Split Results 复选框。

      Fuse Online 还提供离散分割和聚合步骤,您可将它们添加到流中。如果要在一个或多个步骤中处理单个消息,然后将消息聚合到一个集合中,请不要选择 Split Results 复选框。相反,将复选框留空,然后在此连接后向流添加分割步骤。如果您希望流中的聚合步骤,则需要分割步骤。

    6. Interval Before Polling Starts 字段中,接受默认值 1 秒,或者输入连接开始轮询 OData 服务前要经过的时间长度。
    7. Delay 字段中,接受默认值 30 秒,或者输入您希望连接轮询 OData 服务的时间间隔。
    8. Backoff Idle Threshold 字段中,接受默认值 1 或输入整数,表示无法返回任何数据的连续轮询数量。在这个轮询数后,连接会增加后续轮询之间的间隔。连接通过将 Delay 值乘以 Backoff Multiplier 值来指定轮询间隔的新长度。

      例如,假设轮询间隔( Delay 值)是默认值 30 秒,backoff Idle Threshold 设置为 5,并且 Backoff Multiplier 设置为 12。5 连续轮询返回任何数据后,连接会在再次轮询前等待 360 秒(30 x 12)。连接会每 360 秒轮询一次,直到轮询返回数据为止。在轮询返回数据后,连接每 30 秒恢复轮询。

    9. Backoff Multiplier 字段中,接受默认值 1 或输入整数,表示在达到 Backoff Idle Threshold 的值时增加轮询间隔的倍数。

      如果您接受 backoff Multiplier 的默认值 1,那么无论连续的轮询没有结果,连接都会在指定间隔上继续轮询。

      Backoff Idle ThresholdBackoff Multiplier 指定的值可用于减少 CPU 开销,因为连接可以在静默期间自动轮询较少的。

  6. Next

结果

集成现在有一个启动连接,Fuse Online 会提示您选择完成连接。

在执行期间,连接返回的内容取决于您在 Entity Key PredicateQuery Options 字段中指定的内容。OData 连接可以返回:

  • 实体或实体属性集合

    例如,这可能是资源中的所有 Person 实体,也可能是所有 Person 实体的所有 期限 属性。连接会返回一个消息中的集合。Fuse Online 在集合一次执行一次流程中的后续步骤。但是,当您配置 Read 操作时,如果您选择 Split Results,则连接会返回每个实体或其自身消息中的每个属性。Fuse Online 为每个消息执行一次流中的后续步骤。

  • 实体或实体属性

    例如,这可能是其 UserName 属性为 Bob Person 实体,也可能是 UserName 为ob 实体的 Age 属性。连接返回消息中的 entity 或 entity 属性,该属性传递给流中的下一步。

后续步骤

添加集成的完成连接以及您要包含在集成中的任何其他连接。当集成包含所需的所有连接时,如果 OData 连接返回集合,请考虑是否需要在 OData 连接后添加分割步骤。集成通常需要将 OData 连接返回的数据映射到随后流中连接使用的字段。有时,您可以映射集合,但通常需要分割集合,才能映射到目标字段。

在 OData 连接后,向流中添加数据映射程序步骤。准确在流中的什么位置取决于您要进行的流。例如,在 OData 连接后,您可以添加基本过滤器步骤,然后添加数据映射程序步骤。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部