4.3. 在流的中间将消息发布到 AMQP 或完成集成
您可以在流的中间发布消息到 AMQP 代理,或者完成简单的集成。为此,请将 AMQP 连接添加到流程中,或作为简单的集成完成连接。
先决条件
- 您创建了与您要发布消息的 AMQP 代理的连接。
- 您正在创建或编辑一个流,Fuse Online 正在提示您添加到集成中。或者,Fuse Online 提示您选择简单的集成完成连接。
流程
- 在 Add to Integration 页面中,点您要添加连接的加号。如果 Fuse Online 提示您选择完成连接,请跳过这一步。
- 点击您要用来发布消息的 AMQP 连接。
在 Choose a action 页面中,选择以下操作之一:
将消息 发布消息以发布到您指定的队列或主题,而不收到响应。配置这个操作:
- 在 Destination name 字段中输入要发送消息的队列或主题的名称。
- 对于 Destination 类型,接受 Queue 或选择 Topic。
- 选择 Persistent 来确保消息交付,即使连接失败。
使用消息 将消息发布到您指定的队列或主题来请求响应。
注意当简单集成中的完成连接是使用 消息操作执行 Request 响应的 AMQP 连接时,连接会发布消息,但会丢弃响应。为避免丢失响应,请添加 AMQP 连接作为中间连接,以使用消息操作执行 Request 响应,然后完成与日志步骤的简单集成。
配置这个操作:
- 在 Destination name 字段中输入要发送消息的队列或主题的名称。
- 对于 Destination 类型,接受 Queue 或选择 Topic。
- 在 Durable 订阅 ID 字段中,要允许连接在没有缺失消息的情况下关闭并重新打开,请输入 durable 订阅 ID。目标类型必须是主题。
在 Message selector 字段中,如果您想要只接收满足特定条件的响应,请输入过滤器表达式。
选择器是包含表达式的字符串。表达式的语法基于 SQL92 条件表达式语法的子集。以下示例中的消息选择器选择任何带有值设置为
Sports或Opinion的NewsType属性的消息:NewsType = 'Sports' or NewsType = 'Opinion'消息使用者仅接收标头和属性与消息选择器表达式匹配的消息。邮件选择器无法根据消息正文的内容选择消息。
- 点 Next 指定操作的输入和输出类型。
在 Select Type 字段中,如果数据类型不需要已知,接受 类型规格不需要,然后单击 Next。您不需要遵循其中一些说明的其余部分。
但是,建议使用结构化数据类型。例如,如果您要在 datamapper 步骤中映射连接输入/输出,则必须指定数据类型。数据映射程序无法显示非结构化数据的字段。
要指定数据类型,请在 Select Type 字段中选择以下之一作为 schema 类型:
-
JSON 模式是描述 JSON 数据结构的文档。文档的介质类型是
application/schema+json。 -
JSON 实例 是包含 JSON 数据的文档。文档的介质类型是
application/json。 -
XML 模式是描述 XML 数据结构的文档。文档的文件扩展名是
.xsd。 -
XML 实例 是包含 XML 数据的文档。文档的文件扩展名是
.xml。 -
CSV 实例 是一个包含以逗号分隔的值(CSV)数据的文档。文档的文件扩展名是
.csv。
-
JSON 模式是描述 JSON 数据结构的文档。文档的介质类型是
-
在 Definition 输入框中,粘贴符合您选择的模式类型的定义。例如,如果您选择 JSON 模式,则会粘贴 JSON 架构文件的内容,该文件具有介质类型
application/schema+json。 在 Data Type Name 字段中输入您为数据类型选择的名称。例如,如果您要为供应商指定 JSON 模式,则可能会将
Vendor指定为数据类型名称。当您创建或编辑使用您要为其指定此类型的连接的集成时,您将看到此数据类型名称。Fuse Online 在集成视觉化和 data mapper 中显示类型名称。
- 在 Data Type Description 字段中,提供可帮助您区分此类型的信息。当您将鼠标悬停在处理此类型的步骤上时,这个描述会出现在 data mapper 中。
- 点击 Next。
结果
这个连接会出现在您添加的集成视觉化中。