Skip To Content

将 JSON 写入 Kafka Topic

“将 JSON 写入 Kafka Topic”输出连接器可用于将已改编并格式化为通用 JSON 的事件数据写入 Apache Kafka Topic。 有关 Apache Kafka 入门知识的详细信息,请参阅 Apache Kafka 简介

用法说明

使用“将 JSON 写入 Kafka Topic”输出连接器时,应记住以下事项:

  • 使用此输出连接器将已改编并格式化为通用 JSON 的数据写入 Kafka 主题。 此输出连接器是 Kafka 生产者。
  • 此输出连接器可将通用 JSON 出站适配器与 Kafka 出站传输进行配对。
  • 通用 JSON 记录无需包含表示几何的数据。 非空间数据可以写入 Kafka 主题。
  • 适配器将对单个 JSON 记录和组织在一个数组中的 JSON 记录进行处理。
  • Kafka 入站传输支持 TLS 1.2 和 SASL 安全协议,其使用 Kafka 集群或 broker 进行身份验证。

参数

以下是“将 JSON 写入 Kafka Topic”输出连接器的参数:

参数描述

名称

用于在 GeoEvent Manager 中引用的输入连接器的描述性名称。

使用自定义 Kafka 属性覆盖

指定是否覆盖默认 GeoEvent Server Kafka 客户端属性。 默认为

  • - 将覆盖传输公开的默认 Kafka 客户端属性。 为实现有效 Kafka 配置,必须指定一个注册到 GeoEvent Server 的文件夹,其中需包含具有正确格式的 Kafka .properties 文件。 有关支持的配置和指定 .properties 文件的预期格式的列表,请参阅 Apache Kafka 配置
  • - 不会覆盖传输公开的默认 Kafka 客户端属性。 必须指定 Kafka 引导服务器用户群组 ID

Kafka Bootstrap Servers

(条件分析)

用于建立与 Kafka 集群初始连接的 hostname:port 对列表。 Hostname:port 对必须使用逗号分隔,例如broker0.example.com:9092,broker1.example.com:9092,broker2.example.com:9092

Kafka 属性文件的已注册文件夹

(条件分析)

使用 GeoEvent Server 注册的文件夹,其中包含 Kafka .properties 文件。 当使用自定义 Kafka 属性覆盖设置为时,Kafka .properties 文件将定义自定义 Kafka 属性。 确保使用 GeoEvent Server 注册的文件夹为 Kafka .properties 文件所在位置的完整路径。

Kafka 属性文件名称

(条件分析)

Kafka .properties 文件的名称,该文件包含用于客户端配置的自定义 Kafka 属性。 指定的文件名称不应包含 .properties 扩展名。

  • 如果自定义 Kafka 属性文件的名称是 sample.properties,则将此参数指定为 sample

主题名称

用于发布数据的 Kafka 主题的名称。

  • topic1

注:

Kafka 出站传输不支持将数据发布到多个主题。

启用一次精准传递

指定在写入主题时是否应遵循一次精准传递语义。 有关详细信息,请参阅一次精准传递语义。 默认为

  • - Kafka 将遵循一次精准传递语义。
  • - Kafka 不会遵循一次精准传递语义。

注:

在继续操作启用一次精准传递参数之前,请确保 Kafka 集群仅支持一次精准传递语义。 启用一次精准传递语义会导致性能损失。 有关详细信息,请参阅与鸣谢相关的生产者配置

格式化的 JSON

指定是否使用空格缩进和换行格式来修饰要素 JSON 字符串。 此 JSON(有时称为 PJSON)通常仅在写入可在文本编辑器中查看其内容的系统文件时适用。 默认为

  • - 要素 JSON 将被格式化(修饰)。
  • - 要素 JSON 不会被格式化。

需要身份验证

指示连接到 Kafka 集群(或 Kafka broker)是否需要身份验证。 默认为

  • - Kafka 集群或 broker 需要身份验证。
  • - 连接到 Kafka 集群或 broker 不需要身份验证。

身份验证方式

(条件分析)

指定用于保护 Kafka 集群的安全协议。 可用安全协议包括 TLS 1.2 和 SASL。

  • TLS 1.2 - Kafka 集群使用的安全协议是 TLS 1.2。 确保将 Kafka 群集的 PKI 文件(x509 证书)导入到 ArcGIS Server 的信任存储中,此信任存储将用于配置 ArcGIS GeoEvent Server。 有关导入证书具体说明的详细信息,请参阅使用现有的 CA 签名证书配置 ArcGIS Server 中的将证书导入 ArcGIS Server 部分。
  • SASL - Kafka 集群使用的安全协议是 SASL。 仅支持 SASL、SSL 和 Kerberos。

注:

在使用 Kerberos 时,请确保运行 ArcGIS GeoEvent Server 的操作系统用户帐户具有 Kerberos 设置和配置中密钥表文件的读取权限。

此参数在需要身份验证设置为时显示。

凭据文件的已注册文件夹

(条件分析)

使用 GeoEvent Server 注册的文件夹中包含 Kafka 集群的 PKI 文件(x509 证书)。 确保使用 GeoEvent Server 注册的文件夹为 Kafka 集群证书所在位置的完整路径。

凭据配置文件

(条件分析)

Kafka 集群 PKI 文件的名称(x509 证书)。 必须以 PKCS#12 格式存储此证书及其关联私钥,表示为具有 .p12.pfx 扩展名的文件。 请输入文件名和扩展名。

  • my_kafka_certificate.pfx
  • my_other_kafka_certificate.p12

注:

此参数仅支持证书文件名称和扩展名。 证书的相对路径不应在此参数中指定。 使用凭据文件的已注册文件夹参数注册证书文件的完整路径。

此参数在需要身份验证设置为时显示。 此参数仅适用于 TLS 1.2。

Keystore 密码

(条件分析)

Kafka 集群 PKI 文件的密码(x509 证书)。 也称为证书的私钥。

SASL 身份验证类型

(条件分析)

指定 Kafka 集群支持的 SASL 身份验证机制类型。 可用 SASL 身份验证类型包括 SASL GSSAPI (Kerberos) 和 SASL PLAIN。

  • SASL/GSSAPI (Kerberos) - Kafka 集群将使用 SASL/GSSAPI Kerberos 身份验证。
  • SASL/PLAIN - Kafka 集群将使用 SASL/PLAIN 身份验证。

Kerberos 主体

(条件分析)

特定用户的 kerberos 主体,例如 GeoEventKafkaClient1@example.com

使用密钥表

(条件分析)

指示是否在 Kerberos 设置中使用密钥表。 默认为

  • - 将在 Kerberos 设置中使用密钥表。
  • - 不会在 Kerberos 设置中使用密钥表。

存储密钥

(条件分析)

指示是否在 Kerberos 设置中存储密钥。 默认为

  • - 密钥将存储在 Kerberos 设置中。
  • - 密钥不会存储在 Kerberos 设置中。

用户名

(条件分析)

指定用于使用 Kafka 集群进行身份验证的用户名。 也称为与某些云提供商的连接字符串。 有关正确的语法,请参阅所选云提供商的文档。

密码

(条件分析)

指定用于使用 Kafka 集群进行身份验证的密码。 有关正确的语法,请参阅所选云提供商的文档。

注意事项和限制

“将 JSON 写入 Kafka Topic”输出连接器是 Kafka 生产者。 对此输出连接器应用与 Kafka 任何其他外部生产者相同的注意事项。