4.3. 在流中向 AMQP 发布消息或完成集成


您可以在流中发布消息到 AMQP 代理,或者完成简单的集成。为此,请在流程的中间或简单集成完成连接中添加 AMQP 连接。

先决条件

  • 您创建了与您要发布消息的 AMQP 代理的连接。
  • 您正在创建或编辑流,Fuse Online 会提示您添加到集成。或者,Fuse Online 正在提示您选择简单集成的完成连接。

流程

  1. Add to Integration 页面上,单击您要添加连接的加号。如果 Fuse Online 正在提示您选择完成连接,请跳过这一步。
  2. 点您要用来发布消息的 AMQP 连接。
  3. Choose an action 页面中,选择以下操作之一:

    • 发布消息以将 消息 发布到您指定的队列或主题,而不收到响应。配置此操作:

      1. Destination name 字段中,输入要发送消息的队列或主题的名称。
      2. 对于 Destination 类型,接受 队列 或选择 主题
      3. 选择 Persistent 以保证消息发送,即使连接失败也是如此。
    • 使用消息向您指定的和接收响应的 队列或主题请求响应。

      注意

      当简单集成中的完成连接是 AMQP 连接,它使用消息操作执行 Request 响应,连接会发布消息,但响应将被丢弃。为避免丢失响应,请将 AMQP 连接作为中间连接添加,以使用消息操作执行 Request 响应,并完成与日志步骤的简单集成。

      配置此操作:

      1. Destination name 字段中,输入要发送消息的队列或主题的名称。
      2. 对于 Destination 类型,接受 队列 或选择 主题
      3. Durable subscription ID 字段中,要允许连接关闭和重新打开而不缺少消息,请输入 durable 订阅 ID。目的地类型必须是主题。
      4. Message selector 字段中,如果只想接收满足特定条件的响应,请输入过滤器表达式。

        消息选择器是包含表达式的字符串。表达式的语法基于 SQL92 条件表达式语法的子集。以下示例中的消息选择器选择具有 NewsType 属性的任何消息,其值设为 SportsOpinion

        NewsType = ’Sports’ OR NewsType = ’Opinion’

        消息消费者仅接收那些标头和属性与消息选择器表达式匹配的消息。消息选择器无法根据消息正文的内容选择消息。

  4. Next 指定操作的输入和输出类型。
  5. Select Type 字段中,如果不需要知道数据类型,则接受 类型规格, 然后点 Next。您不需要遵循这些指令的其余部分。

    但是,建议使用结构化的数据类型。例如,如果要在数据映射器步骤中映射连接输入/输出,您必须指定数据类型。数据映射器无法显示非结构化数据的字段。

    要指定数据类型,点 Select Type 字段,并选择以下之一作为 schema 类型:

    • JSON 模式是 描述 JSON 数据结构的文档。文档的介质类型是 application/schema+json
    • JSON 实例 是包含 JSON 数据的文档。文档的介质类型是 application/json
    • XML 模式 是一个描述 XML 数据结构的文档。文档的文件扩展为 .xsd
    • XML 实例 是包含 XML 数据的文档。文档的文件扩展为 .xml
  6. Definition 输入框中,粘贴符合您选择的 schema 类型的定义。例如,如果您选择 JSON 模式,您将粘贴 JSON 模式文件的内容,该文件的介质类型为 application/schema+json
  7. Data Type Name 字段中输入您为数据类型选择的名称。例如,如果您要为供应商指定 JSON 模式,您可以指定 Vendor 作为数据类型名称。

    在创建或编辑使用指定此类型的连接时,您将看到此数据类型名称。Fuse Online 在集成视觉化和数据映射程序中显示类型名称。

  8. Data Type Description 字段中,提供可帮助您区分此类型的信息。当您将鼠标悬停在处理此类型的步骤上时,此描述会出现在数据映射程序中。
  9. 点击 Next

结果

连接会出现在您添加它的集成视觉化中。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.