ConnectWebSocket

文档中心 › 组件索引 › ConnectWebSocket

ConnectWebSocket Processor

类型全限定名:cn.org.acal.lynxus.processors.websocket.ConnectWebSocket

所属 Bundle:cn.org.acal.lynxus:lynxus-websocket-processors-nar:2.11.8

描述

充当 WebSocket 客户端端点与远程 WebSocket 服务器交互。 当配置有该处理器的 WebSocket 客户端从远程 WebSocket 服务器接收消息时,FlowFiles 根据接收到的消息类型传输到下游关系。 如果将新的FlowFile传递到处理器,则先前的会话将关闭,并且正在发送的任何数据都将中止。

标签

subscribeWebSocketconsumelisten

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
WebSocket Client Controller Service控制器服务 API:
WebSocketClientService
cn.org.acal.lynxus-lynxus-websocket-services-api-nar-2.11.8
可以连接到 WebSocket 服务器的 WebSocket CLIENT Controller Service。
WebSocket Client Id用于标识 WebSocket 会话的客户端 ID。它在 WebSocket Client 控制器服务内应该是唯一的。否则,在启动时将抛出 WebSocketConfigurationException。

关系 (Relationships)

名称描述自动终止
binary messageWebSocket 二进制消息输出否
connectedWebSocket 会话已建立否
disconnectedWebSocket 会话已断开是
failureFlowFile 保存连接配置属性(例如 URL 或 HTTP 标头),以防连接失败是
successFlowFile 在连接成功时保存连接配置属性(例如 URL 或 HTTP 标头)是
text messageWebSocket 文本消息输出否

写入的 FlowFile 属性

名称描述
websocket.controller.service.idWebSocket Controller Service ID。
websocket.session.id已建立的 WebSocket 会话 ID。
websocket.endpoint.idWebSocket 端点 ID。
websocket.local.addressWebSocket 客户端地址。
websocket.remote.addressWebSocket 服务器地址。
websocket.message.type文本或二进制。

状态管理

该组件不存储状态。

受限 (Restricted)

该组件不受限。

输入要求

该组件允许有传入连接。

详细说明

ConnectWebSocket

概述

该 Processor 充当 WebSocket 客户端端点,与远程 WebSocket 服务器交互。它能够接收来自 WebSocket 服务器的消息,并根据 接收到的消息类型把它们转移到下游 Relationship。

该 Processor 可以有传入 Relationship,此时 FlowFile Attribute 会被传递到它的 WebSocket Client Service。这可以 用于微调连接配置(例如 url 和 header)。例如, "dynamic.url = currentValue" 这个 FlowFile Attribute 可以在 WebSocket Client Service 中用 ${dynamic.url} 表达式引用。

你可以在传入 FlowFile 中把额外的 Attribute 定义为自定义 WebSocket header。Attribute 键应以 "header." 开头,后接 header 键。例如:"header.Authorization"。Attribute 值就是对应 header 的值。如果新的 FlowFile 被传入该 Processor,之前的会话会被关闭,正在发送的数据会被中止。

  1. header.Autorization | Basic base64UserNamePassWord
  2. header.Content-Type | application, audio, example

多个 header 值请提供逗号分隔的列表。