WebSocket Server

支持的管道类型:

  •  Data Collector

WebSocket Server源是一个多线程源端,它侦听WebSocket端点并处理所有授权的WebSocket客户端请求的内容。

WebSocket Server源可以使用多个线程来启用来自多个WebSocket客户端的数据并行处理。当在微服务管道中使用时,源端还可以将响应发送回源系统。

在配置源端之前,请执行其他步骤以配置WebSocket客户端。

配置WebSocket Server源时,可以指定并发请求的最大数量,以确定要使用的线程数。您定义侦听端口,应用程序ID和最大消息大小。您还可以配置SSL/TLS属性,包括默认的传输协议和密码套件。

当您希望源端将响应作为微服务管道的一部分发送回源系统时,可以配置响应的数据格式和其他特征。

提示: Data Collector提供了两个WebSocket源来满足不同的需求。有关快速比较表以帮助您选择合适的表,请参阅比较WebSocket源。

先决条件

在运行具有WebSocket Server源的管道之前,请完成以下前提条件以配置WebSocket客户端。

将数据发送到侦听端口

配置WebSocket客户端以将数据发送到WebSocket服务器侦听端口。

在配置WebSocket Server源时,您定义了一个监听端口号,源端在此侦听数据。要将数据传递到管道,请配置每个WebSocket客户端以将数据发送到包含侦听端口号的URL。

注意:不能有其他管道或进程已绑定到侦听端口。侦听端口只能由单个管道使用。

URL使用以下格式:

<ws | wss>://<sdc_hostname>:<listening_port>/

URL包含以下组件:

  • <ws | wss>-使用wss通过HTTPS进行安全的WebSocket连接。
  • <sdc_hostname>- 数据收集器 主机名。
  • <listening_port>-源在其中侦听数据的端口号。

例如: wss://localhost:8080/

在请求中包含应用程序ID

配置WebSocket客户端以在每个请求中包括WebSocket服务器应用程序ID。

当配置WebSocket Server源时,您将定义一个应用程序ID,该ID用于将请求传递到来源。发送到源端的所有消息都必须包含应用程序ID。

通过以下方式之一包括每个客户端请求的应用程序ID:

在请求头中
将以下信息添加到您希望源端处理的所有WebSocket请求的请求头中:

X-SDC-APPLICATION-ID: <application_ID>
例如:

X-SDC-APPLICATION-ID: sdc_http2kafka
在URL中的查询参数中
如果无法配置客户端请求头(例如,如果请求是由另一个系统生成的),则配置每个WebSocket客户端以将数据发送到在查询参数中包括应用程序ID的URL。
要在查询参数中包括应用程序ID,请在配置源端时属性中启用“Application ID in URL”。然后,在URL查询参数中包含应用程序ID。
URL使用以下格式:

<ws | wss>://<sdc_hostname>:<listening_port>/?sdcApplicationId=<application_ID>
URL包含以下组件:

  • <ws | wss>-使用wss通过HTTPS进行安全的WebSocket连接。
  • <sdc_hostname>- Data Collector主机名。
  • <listening_port>-源在其中侦听数据的端口号。
  • <application_ID>-为WebSocket Server源定义的应用程序ID。
例如: wss://localhost:8080/?sdcApplicationId=sdc_http2kafka

多线程处理

WebSocket Server源执行并行处理,并允许创建多线程管道。

WebSocket Server源使用基于“Max Concurrent Requests”属性的多个并发线程。 每个线程都连接到源端,创建一批数据,并将该批数据传递到可用的管道运行器。

管道运行器是无源管道实例 ——一种包括所有处理器、执行器和目标端的管道实例,并处理源端之后的所有管道处理逻辑。每个管道运行程序一次处理一批,就像在单个线程上运行的管道一样。当数据流变慢时,管道运行器会闲置等待,直到需要它们为止,并定期生成一个空批。您可以配置“Runner Idle Time”管道属性来指定间隔或选择退出空批次生成。

多线程管道保留每个批次中的记录顺序,就像单线程管道一样。但是由于批次是由不同的流水线处理程序处理的,因此无法确保将批次写入目标端的顺序。

例如,假设您将“Max Concurrent Requests”属性设置为5。启动管道时,源端将创建5个线程,而Data Collector将创建匹配数量的管道运行器。 接收到数据后,源端将批次传递给每个管道运行器进行处理。 在批次中,WebSocket Server仅包含具有指定应用程序ID的WebSocket请求。

在任何给定的时刻,五个管道运行器每个都可以处理一批,因此该多线程管道一次最多可以处理五个批次。当传入数据变慢时,管道运行器将处于空闲状态,并在数据流增加时立即可用。

有关多线程管道的更多信息,请参见《多线程管道概述》。

生成的微服务响应

在微服务管道中,WebSocket Server源可以将响应发送回源WebSocket客户端。

  • 从微服务目标端收到的记录
  • 将管道配置为使用“Send Response to Origin”管道错误处理时收到的管道错误记录

源端为收到的每批记录生成单个响应。源可以生成JSON或XML格式的响应。响应可以包含信封或仅包含原始数据。

带封装的响应

当配置为发送带有封装的响应时,源端将生成一个响应,其中包括状态码,来自微服务目标端的数据,来自管道的错误记录以及第一条错误消息。生成的响应包括以下JSON密钥或XML元素:

响应键或元素
httpStatusCode 与响应中的记录关联的状态代码。

如果生成的响应中的记录共享相同的状态代码,则该代码将写入httpStatusCode键或元素。如果记录具有不同的状态代码,则将多个状态的httpStatusCode设置为207。

data 管道中使用的微服务目的地传递到源的记录的列表。
error 通过“Send Response to Origin”管道错误处理传递到源端的管道错误记录的列表。
errorMessage 与响应中的第一个错误记录关联的错误消息。

仅在响应包含错误记录时使用。

例如,以JSON格式生成的带有封装的响应具有以下结构:

{
"httpStatusCode":<status code>,
"data":[<list of success records>],
"error":[<list of error records>],
"errorMessage": <error message, if any>
}

原始响应

当配置为发送原始响应时,源端将生成一个响应,其中包含从微服务目标端传递的记录列表或由“Send Response to Origin”管道错误处理传递的错误记录列表。如果源端从目标端接收数据记录,从管道接收错误记录,则源端仅在响应中包括错误记录。如果源端未收到来自目标端的数据记录,也未收到来自管道的错误记录,则源端将生成空响应。

样本响应

以下JSON格式的示例显示了当源接收单个记录和多个记录时带信封的响应和不带信封的原始响应:

单条记录
源端从Send Response to Origin目标端接收一条记录。目标端配置为使用200状态代码。

对于带有信封的响应,源端将发送以下响应:

{
"httpStatusCode":200,
"data":[{"ID":"103","NAME":"Jack","AGE":"37","STATE":"MD"}],
"error":[],
"errorMessage":null
}

对于原始响应,源将发送以下响应:

{"ID":"103","NAME":"Jack","AGE":"37","STATE":"MD"}
多个数据和错误记录
源端接收多个记录、数据和错误。因为每个记录都有不同的状态码,所以响应将状态码207用于多个状态。errorMessage关键字包含与第一个记录相关联的错误,该记录的ID缺失。源端配置为将多个记录显示为多个JSON对象。

对于带有封装的响应,源端将发送以下响应:

{
"httpStatusCode":207,
"data":[{"ID":"248","NAME":"Pina","AGE":"24","STATE":"RI"}],
"error":[{"NAME":"Liz","AGE":"37","STATE":"DE"}, {"ID":"302","NAME":"Roco","AGE":"","STATE":"CA"}],
"errorMessage":"COMMON_0001 - Stage precondition: CONTAINER_0051 - Unsatisfied precondition(s) '${record:exists('/ID')}'"
}

对于原始响应,源端将发送以下响应:

{"NAME":"Liz","AGE":"37","STATE":"DE"}, {"ID":"302","NAME":"Roco","AGE":"","STATE":"CA"}

数据格式

WebSocket Server源会根据您选择的数据格式而不同地处理数据。

WebSocket Server源处理数据格式如下:

Binary
生成一条记录,在记录的根部有一个单字节数组字段。
当数据超过用户定义的最大数据大小时,源端将无法处理数据。因为未创建记录,所以源无法将记录传递到管道以将其写为错误记录。相反,源端会产生阶段错误。
Datagram
为每条消息生成一条记录。可以处理收集的消息,NetFlow 5和NetFlow 9消息以及以下类型的syslog消息:

  • RFC 5424
  • RFC 3164
  • 非标准通用消息,例如RFC 3339日期,没有版本数字
在处理NetFlow消息时,该阶段会根据NetFlow版本生成不同的记录。处理NetFlow 9时,将基于NetFlow 9配置属性生成记录。有关更多信息,请参见NetFlow数据处理。
Delimited
为每个分隔的行生成一条记录。您可以使用以下分隔格式类型:

  • Default CSV-包含逗号分隔值的文件。忽略文件中的空行。
  • RFC4180 CSV-严格遵循RFC4180准则的逗号分隔文件。
  • MS Excel CSV -Microsoft Excel逗号分隔文件。
  • MySQL CSV -MySQL逗号分隔文件。
  • Tab-Separated Values -包含制表符分隔的值的文件。
  • PostgreSQL CSV -PostgreSQL逗号分隔文件。
  • PostgreSQL文本 -PostgreSQL文本文件。
  • Custom -使用用户定义的分隔符,转义符和引号字符的文件。
  • Multi Character Delimited-使用多个用户定义的字符分隔字段和行以及单个用户定义的转义和引号字符的文件。
您可以将列表或列表映射根字段类型用于分隔数据,并可以选择在标题行中包括字段名称(如果有)。有关根字段类型的更多信息,请参见分隔数据根字段类型。
使用标题行时,可以启用带有其他列的记录处理。其他列使用自定义的前缀和顺序递增的顺序整数,如命名 _extra_1, _extra_2。当您禁止其他列时,包含其他列的记录将发送到错误。
您也可以将字符串常量替换为空值。
当一条记录超过为该阶段定义的最大记录长度时,该阶段将根据为该阶段配置的错误处理来处理对象。
JSON
为每个JSON对象生成一条记录。您可以处理包含多个JSON对象或单个JSON数组的JSON文件。
当对象超过为源端定义的最大对象长度时,源端会根据为阶段配置的错误处理来处理对象。
Log
为每个日志行生成一条记录。
当一行超过用户定义的最大行长时,源端将截断更长的行。
您可以将处理后的日志行作为字段包含在记录中。如果日志行被截断,并且您在记录中请求日志行,则源端包括被截断的行。
您可以定义要读取的日志格式或类型。
Protobuf
为每个protobuf消息生成一条记录。默认情况下,来源假定消息包含多个protobuf消息。
Protobuf消息必须与指定的消息类型匹配,并在描述符文件中进行描述。
当记录的数据超过1 MB时,源将无法继续处理消息中的数据。源根据阶段错误处理属性处理消息,并继续读取下一条消息。
有关生成描述符文件的信息,请参阅Protobuf数据格式先决条件。
SDC Record
为每条记录生成一条记录。用于处理由Data Collector管道使用SDC记录数据格式生成的记录。
对于错误记录,源端提供从原始管道中的源端读取的原始记录,以及可用于更正记录的错误信息。
处理错误记录时,源端希望原始管道生成的错误文件名和内容。
XML
根据用户定义的分隔符元素生成记录。在根元素下直接使用XML元素或定义简化的XPath表达式。如果未定义分隔符元素,则源端会将XML文件视为单个记录。
默认情况下,生成的记录包括XML属性和名称空间声明作为记录中的字段。您可以配置阶段以将它们包括在记录中作为字段属性。
您可以在字段属性中包含每个解析的XML元素和XML属性的XPath信息。这还将每个名称空间放在xmlns记录头属性中。

注意: 只有在目标中使用SDC RPC数据格式时,字段属性和记录头属性才会自动写入目标系统。有关使用字段属性和记录标题属性以及如何将它们包括在记录中的更多信息,请参见字段属性和记录标题属性。
当记录超过用户定义的最大记录长度时,源端将跳过该记录并继续处理下一条记录。它将跳过的记录发送到管道以进行错误处理。
使用XML数据格式来处理有效的XML文档。有关XML处理的更多信息,请参见阅读和处理XML数据。
提示: 如果要处理无效的XML文档,则可以尝试将文本数据格式与自定义分隔符一起使用。有关更多信息,请参见使用自定义分隔符处理XML数据。

配置WebSocket Server源

配置WebSocket Server源,以生成多个线程以并行处理WebSocket客户端请求。

  1. 在“Properties”面板的“General选项卡上,配置以下属性:
    一般属性 描述
    Name 阶段名。
    Description 可选说明。
    On Record Error 该阶段的错误记录处理:

    • Discard-放弃记录。
    • To Error-将记录发送到管道以进行错误处理。
    • Stop Pipeline-停止管道。
  2. 在“WebSocket”选项卡上,配置以下属性:
    WebSocket属性 描述
    WebSocket Listening Port WebSocket Server源的侦听端口。该端口号必须包含在WebSocket客户端用来传递数据的URL中。

    注意:不能有其他管道或进程已绑定到侦听端口。侦听端口只能由单个管道使用。

    有关更多信息,请参见先决条件。

    Max Concurrent Requests 一次允许将消息发送到源的最大WebSocket客户端数量。

    如果源端达到配置的最大值,并从其他客户端收到其他请求,则当槽可用时,它将处理这些请求。

    此属性还确定源端生成并用于多线程处理的线程数。有关更多信息,请参见多线程处理。

    Application ID 用于将请求传递到WebSocket Server源的应用程序ID。应用程序ID必须包含在WebSocket请求头中或WebSocket客户端用来传递数据的URL的查询参数中。

    有关更多信息,请参见先决条件。

    Application ID in URL 允许从URL读取应用程序ID。当WebSocket客户端在URL查询参数中而不是请求头中包含应用程序ID时使用。

    有关更多信息,请参见先决条件。

    Max Request Size (MB) 源端可以处理的请求体的最大大小。
    Idle Timeout (ms) 允许WebSocket客户端连接到WebSocket Server源的最长时间,以毫秒为单位。在这段时间内没有消息发送到源后,连接将关闭。WebSocket客户端必须重新连接到WebSocket Server源。

    默认值为20,000毫秒。

  3. 在“Data Format选项卡上,配置以下属性:
    数据格式属性 描述
    Data Format 要处理的数据类型。使用以下数据格式之一:

    • Binary
    • Datagram
    • Delimited
    • JSON
    • Log
    • Protobuf
    • SDC Record
    • Text
    • XML

    在Data Collector Edge管道中, 源仅支持Binary,Delimited,JSON,SDC Record和Text数据格式。

  4. 对于二进制数据,在“ 数据格式”选项卡上,配置以下属性:
    二进制属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。

    在Data Collector Edge管道中,源仅支持未压缩和压缩的文件,不支持存档或压缩的存档文件。

    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

    Max Data Size (bytes) 消息中的最大字节数。较大的消息无法处理或写入错误。
  5. 对于数据报数据,在“Data Format选项卡上,配置以下属性:
    数据报属性 描述
    Datagram Packet Format 数据包格式:

    • collectd
    • NetFlow
    • syslog
    • Raw/separated data
    TypesDB File Path 用户提供的types.db文件的路径。覆盖默认的types.db文件。

    仅用于collectd数据。

    Convert Hi-Res Time & Interval 将收集的高分辨率时间格式间隔和时间戳转换为UNIX时间(以毫秒为单位)。

    仅用于collectd数据。

    Exclude Interval 从输出记录中排除间隔字段。

    仅用于collectd数据。

    Auth File 可选身份验证文件的路径。使用认证文件接受签名和加密的数据。

    仅用于collectd数据。

    Record Generation Mode 确定要包含在记录中的值的类型。选择以下选项之一:

    • Raw Only
    • Interpreted Only
    • Both Raw and Interpreted

    仅适用于NetFlow 9数据。

    Max Templates in Cache 模板缓存中存储的最大模板数。有关模板的更多信息,请参见缓存NetFlow 9模板。

    对于无限的缓存大小,默认值为-1。

    仅适用于NetFlow 9数据。

    Template Cache Timeout (ms) 缓存空闲模板的最大毫秒数。超过指定时间未使用的模板将从缓存中逐出。有关模板的更多信息,请参见 缓存NetFlow 9模板。

    无限期缓存模板的默认值为-1。

    仅适用于NetFlow 9数据。

    Charset 要处理的消息的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。
  6. 对于分隔数据,在“Data Format选项卡上,配置以下属性:
    分隔属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。

    在Data Collector Edge管道中,源仅支持未压缩和压缩的文件,不支持存档或压缩的存档文件。

    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

    Delimiter Format Type 分隔符格式类型。使用以下选项之一:

    • Default CSV-包含逗号分隔值的文件。忽略文件中的空行。
    • RFC4180 CSV-严格遵循RFC4180准则的逗号分隔文件。
    • MS Excel CSV -Microsoft Excel逗号分隔文件。
    • MySQL CSV -MySQL逗号分隔文件。
    • Tab-Separated Values -包含制表符分隔的值的文件。
    • PostgreSQL CSV -PostgreSQL逗号分隔文件。
    • PostgreSQL Text -PostgreSQL文本文件。
    • Custom -使用用户定义的分隔符,转义符和引号字符的文件。
    • Multi Character Delimited-使用多个用户定义的字符分隔字段和行以及单个用户定义的转义和引号字符的文件。
    Header Line 指示文件是否包含标题行以及是否使用标题行。
    Allow Extra Columns 使用标题行处理数据时,允许处理的记录列数超过标题行中的列数。
    Extra Column Prefix 用于任何其他列的前缀。额外的列使用前缀和顺序递增的整数来命名,如下所示: <prefix><integer>

    例如,_extra_1。默认值为 _extra_

    Max Record Length (chars) 记录的最大长度(以字符为单位)。较长的记录不会被读取。

    此属性可以受数据收集器解析器缓冲区大小的限制。有关更多信息,请参见最大记录大小。

    Delimiter Character 自定义分隔符格式的分隔符。选择一个可用选项,或使用“其他”输入自定义字符。

    您可以输入使用格式为Unicode控制符\uNNNN,其中N是数字0-9或字母AF十六进制数字。例如,输入 \u0000以使用空字符作为分隔符,或 \u2028使用行分隔符作为分隔符。

    默认为竖线字符(|)。

    Multi Character Field Delimiter 用于分隔多字符分隔符格式的字段的字符。

    默认值为两个竖线字符(||)。

    Multi Character Line Delimiter 以多字符分隔符格式分隔行或记录的字符。

    默认值为换行符(\ n)。

    Escape Character 自定义字符或多字符分隔符格式的转义字符。
    Quote Character 自定义或多字符分隔符格式的引号字符。
    Enable Comments 自定义分隔符格式允许注释的数据被忽略。
    Comment Marker 为自定义分隔符格式启用注释时,标记注释的字符。
    Ignore Empty Lines 对于自定义分隔符格式,允许忽略空行。
    Root Field Type 要使用的根字段类型:

    • List-Map-生成数据索引列表。使您能够使用标准功能来处理数据。用于新管道。
    • List-生成带有索引列表的记录,该列表带有标头和值的映射。需要使用分隔数据功能来处理数据。仅用于维护在1.1.0之前创建的管道。
    Lines to Skip 读取数据前要跳过的行数。
    Parse NULLs 将指定的字符串常量替换为空值。
    NULL Constant 字符串常量,用空值替换。
    Charset 要处理的文件的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。
  7. 对于JSON数据,在数据格式选项卡上,配置以下属性:
    JSON属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。

    在Data Collector Edge管道中,源仅支持未压缩和压缩的文件,不支持存档或压缩的存档文件。

    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

    JSON Content JSON内容的类型。使用以下选项之一:

    • Array of Objects
    • Multiple Objects
    Maximum Object Length (chars) JSON对象中的最大字符数。

    较长的对象将转移到管道以进行错误处理。

    此属性可以受数据收集器解析器缓冲区大小的限制。有关更多信息,请参见最大记录大小。

    Charset 要处理的文件的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。
  8. 对于日志数据,在“Data Format选项卡上,配置以下属性:
    日志属性 描述
    Log Format 日志文件的格式。使用以下选项之一:

    • 通用日志格式
    • 合并日志格式
    • Apache错误日志格式
    • Apache访问日志自定义格式
    • 正则表达式
    • Grok模式
    • Log4j
    • 通用事件格式(CEF)
    • 日志事件扩展格式(LEEF)
    Max Line Length 日志行的最大长度。源端将截断较长的行。

    此属性可以受数据收集器解析器缓冲区大小的限制。有关更多信息,请参见最大记录大小。

    Retain Original Line 确定如何处理原始日志行。选择将原始日志行作为字段包含在结果记录中。

    默认情况下,原始行被丢弃。

    Charset 要处理的文件的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。
    • 当选择“Apache访问日志自定义格式”时,请使用Apache日志格式字符串定义“Custom Log Format
    • 选择“正则表达式”时,输入描述日志格式的正则表达式,然后将要包括的字段映射到每个正则表达式组。
    • 选择Grok Pattern时,可以使用 Grok Pattern Definition字段定义自定义grok模式。您可以在每行上定义一个模式。

      在 Grok Pattern字段中,输入用于解析日志的模式。您可以使用预定义的grok模式,也可以使用Grok Pattern Definition中定义的模式创建自定义grok模式 。

      有关定义grok模式和支持的grok模式的更多信息,请参见定义Grok模式。

    • 选择Log4j时,定义以下属性:
      Log4j属性 描述
      On Parse Error 确定如何处理无法解析的信息:

      • Skip and Log Error-跳过读取行并记录阶段错误。
      • Skip, No Error-跳过读取行并且不记录错误。
      • Include as Stack Trace-包含无法解析为先前读取的日志行的堆栈跟踪的信息。该信息将添加到最后一个有效日志行的消息字段中。
      Use Custom Log Format 允许您定义自定义日志格式。
      Custom Log4J Format 使用log4j变量定义自定义日志格式。
  9. 对于protobuf数据,在“Data Format选项卡上,配置以下属性:
    Protobuf属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。
    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

    Protobuf Descriptor File 要使用的描述符文件(.desc)。描述符文件必须位于Data Collector资源目录$SDC_RESOURCES中 。

    有关生成描述符文件的信息,请参阅Protobuf数据格式先决条件。有关环境变量的更多信息,请参阅《 Data Collector环境配置》。

    Message Type 读取数据时使用的消息类型的全限定名称。

    使用以下格式: <package name>.<message type>

    使用在描述符文件中定义的消息类型。

    Delimited Messages 指示一条消息是否可能包含多个protobuf消息。
  10. 对于“SDC Record”数据,在“Data Format选项卡上,配置以下属性:
    SDC记录属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。

    在Data Collector Edge管道中,源仅支持未压缩和压缩的文件,不支持存档或压缩的存档文件。

    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

  11. 对于XML数据,在“Data Format选项卡上,配置以下属性:
    XML属性 描述
    Compression Format 文件的压缩格式:

    • None-仅处理未压缩的文件。
    • Compressed File-处理受支持的压缩格式压缩的文件。
    • Archive-处理通过支持的存档格式存档的文件。
    • Compressed Archive-处理通过支持的存档和压缩格式存档和压缩的文件。
    File Name Pattern within Compressed Directory 对于归档文件和压缩归档文件,使用文件名模式表示要在压缩目录中处理的文件。您可以使用UNIX样式的通配符,例如星号或问号。例如,*.json。

    默认值为*,它处理所有文件。

    Delimiter Element

    用于生成记录的分隔符。省略分隔符,将整个XML文档视为一条记录。使用以下之一:

    • 在根元素正下方的XML元素。

      使用不带尖括号(<>)的XML元素名称。例如,用msg代替<msg>。

    • 一个简化的XPath表达式,指定要使用的数据。

      使用简化的XPath表达式访问XML文档中更深的数据或需要更复杂访问方法的数据。

      有关有效语法的更多信息,请参见简化的XPath语法。

    Include Field XPaths 在字段属性中包括每个解析的XML元素的XPath和XML属性。还包括xmlns记录头属性中的每个名称空间。

    如果未选中,则此信息不包含在记录中。默认情况下,未选择该属性。

    注意: 只有在目标中使用SDC RPC数据格式时,字段属性和记录头属性才会自动写入目标系统。有关使用字段属性和记录标题属性以及如何将它们包括在记录中的更多信息,请参见字段属性和记录标题属性。
    Namespaces 解析XML文档时使用的命名空间前缀和URI。当所使用的XML元素包含名称空间前缀或XPath表达式包含名称空间时,定义名称空间。

    有关将名称空间与XML元素一起使用的信息,请参见将XML元素与名称空间一起使用。

    有关将名称空间与XPath表达式一起使用的信息,请参阅将XPath表达式与名称空间一起使用。

    使用简单或批量编辑模式,单击 添加图标以添加其他名称空间。

    Output Field Attributes 在记录中包括XML属性和名称空间声明作为字段属性。如果未选择,则XML属性和名称空间声明作为字段包含在记录中。

    注意: 只有在目标中使用SDC RPC数据格式时,字段属性才会自动包含在写入目标系统的记录中。有关使用字段属性的更多信息,请参见字段属性。

    默认情况下,未选择该属性。

    Max Record Length (chars)

    记录中的最大字符数。较长的记录将转移到管道以进行错误处理。

    此属性可以受数据收集器解析器缓冲区大小的限制。有关更多信息,请参见最大记录大小。

    Charset 要处理的文件的字符编码。
    Ignore Control Characters 除去制表符,换行符和回车符以外的所有ASCII控制字符。
  12. 要使用SSL/TLS,请单击“TLS”选项卡并配置以下属性:
    TLS属性 描述
    Use TLS 启用TLS的使用。
    Truststore File 信任库文件的路径。输入文件的绝对路径或相对于Data Collector资源目录$SDC_RESOURCES的路径。

    有关环境变量的更多信息,请参阅《Data Collector环境配置》。

    默认情况下,不使用任何信任库。

    Truststore Type 要使用的信任库的类型。使用以下类型之一:

    • Java Keystore File (JKS)
    • PKCS #12 (p12 file)

    默认值为Java Keystore File (JKS)。

    Truststore Password 信任库文件的密码。密码是可选的,但建议使用。

    提示:要保护敏感信息(例如密码),可以使用运行时资源或凭据存储。
    Truststore Trust Algorithm 用于管理信任库的算法。

    默认值为SunX509

    Use Default Protocols 确定要使用的传输层安全性(TLS)协议。默认协议是TLSv1.2。要使用其他协议,请清除此选项。
    Transport Protocols 要使用的TLS协议。要使用默认TLSv1.2以外的协议,请单击“ 添加”图标并输入协议名称。您可以使用简单或批量编辑模式来添加协议。

    注意:较旧的协议不如TLSv1.2安全。
    Use Default Cipher Suites 对SSL/TLS握手使用默认的密码套件。要使用其他密码套件,请清除此选项。
    Cipher Suites 要使用的密码套件。要使用不属于默认密码集的密码套件,请单击“ 添加”图标并输入密码套件的名称。您可以使用简单或批量编辑模式来添加密码套件。

    输入要使用的其他密码套件的Java安全套接字扩展(JSSE)名称。

  13. 在微服务管道中使用源时,在“WebSocket Response选项卡上,配置以下属性。在非微服务管道中,这些属性将被忽略。
    WebSocket响应属性 描述
    Send Raw Response 使源能够发送不带信封的响应。
    Data Format 有效负载的数据格式。选择以下选项之一:

    • JSON
    • XML
    JSON Content 用于在JSON响应中显示多个记录的方法:

    • JSON array of objects
    • Multiple JSON objects

    适用于JSON数据格式。

    Charset JSON响应中请求正文的字符集。适用于JSON数据格式。
    Pretty Format 使源端能够编写具有人类可读缩进的XML响应。适用于XML数据格式。
    Validate Schema 使源端能够根据提供的模式验证XML响应。适用于XML数据格式。
    XML Schema 源端用于验证XML响应的模式。验证XML数据格式的模式时可用。