SiteToSiteProvenanceReportingTask Reporting Task
描述
使用Site-to-Site协议发布来源事件。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| 目标 URL | | 目标 Lynxus 实例的 URL,如果是集群,则为 http(s)://host:port/lynxus 格式的逗号分隔地址列表。此目标 URL 仅用于发起站点到站点连接。此报告任务发送的数据将在目标的所有节点上进行负载均衡(如果是集群)。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 输入端口名称 | | 要将数据传送到的输入端口的名称。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| SSL 上下文服务 | | 控制器服务 API:SSLContextProvidercn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 与目标通信时使用的 SSL 上下文服务。如果未指定,通信将不安全。 |
| 实例 URL | http://${hostname(true)}:8080/lynxus | 要在每个事件的内容 URI 中使用的此实例的 URL。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 压缩事件 | true |
| 指示是否压缩正在发送的数据。 |
| 通信超时 | 30 secs | 指定在确定发生错误并取消事务之前等待来自目标的响应的时间 | |
| 批大小 | 1000 | 指定单个批次中最多发送多少条记录。 | |
| 传输协议 | RAW |
| 指定用于站点到站点通信的传输协议。 |
| Proxy Configuration Service | | 控制器服务 API:ProxyConfigurationServicecn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 指定代理配置 Controller Service 来代理网络请求。 |
| 记录写入器 | | 控制器服务 API:RecordSetWriterFactorycn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 指定用于写出记录的Controller Service。 |
| 包含空值 | false |
| 指示记录中是否应包含空值。默认为 false |
| 平台 | lynxus | 每个事件中用于平台字段的值。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 包含的事件类型 | | 用于过滤报告任务发送的溯源事件的逗号分隔事件类型列表。可用事件类型为 [CREATE, RECEIVE, FETCH, SEND, UPLOAD, REMOTE_INVOCATION, DOWNLOAD, DROP, EXPIRE, FORK, JOIN, CLONE, CONTENT_MODIFIED, ATTRIBUTES_MODIFIED, ROUTE, ADDINFO, REPLAY, UNKNOWN]。如果未设置过滤器,则发送所有事件。如果设置了多个过滤器,则过滤器是累积的。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 排除的事件类型 | | 用于排除报告任务发送的溯源事件的逗号分隔事件类型列表。可用事件类型为 [CREATE, RECEIVE, FETCH, SEND, UPLOAD, REMOTE_INVOCATION, DOWNLOAD, DROP, EXPIRE, FORK, JOIN, CLONE, CONTENT_MODIFIED, ATTRIBUTES_MODIFIED, ROUTE, ADDINFO, REPLAY, UNKNOWN]。如果未设置过滤器,则发送所有事件。如果设置了多个过滤器,则过滤器是累积的。如果事件类型同时包含在'包含的事件类型'和此处被排除,则排除优先,事件不会被发送。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 包含的组件类型 | | 基于组件类型过滤来源事件的正则表达式。仅发送匹配正则表达式的事件。如果未设置过滤器,则发送所有事件。如果设置了多个过滤器,则过滤器是累积的。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 排除的组件类型 | | 基于组件类型排除来源事件的正则表达式。匹配正则表达式的事件将不会被发送。如果未设置过滤器,则发送所有事件。如果设置了多个过滤器,则过滤器是累积的。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 包含的组件 ID | | 将用于过滤报告任务发送的溯源事件的组件 UUID 的逗号分隔列表。如果未设置过滤器,则发送所有事件。如果设置了多个过滤器,则过滤器是累积的。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 排除的组件 ID | | 将用于排除报告任务发送的溯源事件的组件 UUID 的逗号分隔列表。如果未设置过滤器,则发送所有事件。如果设置了多个过滤器,则过滤器是累积的。如果组件 UUID 包含在'包含的组件 ID'中但在此处被排除,则排除优先,事件不会被发送。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 包含的组件名称 | | 基于组件名称过滤来源事件的正则表达式。仅发送匹配正则表达式的事件。如果未设置过滤器,则发送所有事件。如果设置了多个过滤器,则过滤器是累积的。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 排除的组件名称 | | 基于组件名称排除来源事件的正则表达式。匹配正则表达式的事件将不会被发送。如果未设置过滤器,则发送所有事件。如果设置了多个过滤器,则过滤器是累积的。 支持表达式语言:是(仅使用环境/系统变量求值) | |
| 起始位置 | beginning-of-stream |
| 如果报告任务从未运行过,或者其状态已被用户重置,则指定报告任务应在溯源事件流中的何处启动 |
状态管理
| 作用域 | 描述 |
|---|---|
| LOCAL | 存储报告任务的最后一个事件 ID,以便任务重新启动时知道它停止的位置。 |
受限 (Restricted)
该组件不受限。
详细说明
SiteToSiteProvenanceReportingTask
Site-to-Site Provenance Reporting Task 允许用户把一个 Lynxus 实例的所有 Provenance 事件发布回同一实例或另一个 Lynxus 实例。这提供了很大的灵活性, 因为用户可以利用 Lynxus 中所有可用的 Processor 来处理或分发这些数据。 在可能的情况下,建议把 Provenance 数据发送到与运行该 Reporting Task 的实例不同的另一个 Lynxus 实例,因为当数据通过 Site-to-Site 被接收并处理时,其本身也会生成 Provenance 事件,从而形成一个循环。不过,数据是按批发送的(默认 1,000 条)。 这意味着对于每一批发回 Lynxus 的 Provenance 事件,接收方的 Lynxus 只需为每个组件生成一条事件。
默认情况下,发布到 Lynxus 实例时,Provenance 数据以 JSON 数组形式发送。 不过,用户可以定义 Record Writer,直接指定输出格式和数据,前提是输入 schema 定义如下:
{
"type": "record",
"name": "provenance",
"namespace": "provenance",
"fields": [
{
"name": "eventId",
"type": "string"
},
{
"name": "eventOrdinal",
"type": "long"
},
{
"name": "eventType",
"type": "string"
},
{
"name": "timestampMillis",
"type": "long"
},
{
"name": "durationMillis",
"type": "long"
},
{
"name": "lineageStart",
"type": {
"type": "long",
"logicalType": "timestamp-millis"
}
},
{
"name": "details",
"type": [
"null",
"string"
]
},
{
"name": "componentId",
"type": [
"null",
"string"
]
},
{
"name": "componentType",
"type": [
"null",
"string"
]
},
{
"name": "componentName",
"type": [
"null",
"string"
]
},
{
"name": "processGroupId",
"type": [
"null",
"string"
]
},
{
"name": "processGroupName",
"type": [
"null",
"string"
]
},
{
"name": "entityId",
"type": [
"null",
"string"
]
},
{
"name": "entityType",
"type": [
"null",
"string"
]
},
{
"name": "entitySize",
"type": [
"null",
"long"
]
},
{
"name": "previousEntitySize",
"type": [
"null",
"long"
]
},
{
"name": "updatedAttributes",
"type": {
"type": "map",
"values": "string"
}
},
{
"name": "previousAttributes",
"type": {
"type": "map",
"values": "string"
}
},
{
"name": "actorHostname",
"type": [
"null",
"string"
]
},
{
"name": "contentURI",
"type": [
"null",
"string"
]
},
{
"name": "previousContentURI",
"type": [
"null",
"string"
]
},
{
"name": "parentIds",
"type": {
"type": "array",
"items": "string"
}
},
{
"name": "childIds",
"type": {
"type": "array",
"items": "string"
}
},
{
"name": "platform",
"type": "string"
},
{
"name": "application",
"type": "string"
},
{
"name": "remoteIdentifier",
"type": [
"null",
"string"
]
},
{
"name": "alternateIdentifier",
"type": [
"null",
"string"
]
},
{
"name": "transitUri",
"type": [
"null",
"string"
]
}
]
}