如何在 Kafka Connect 场景中禁用 Azure Schema 注册表上的架构自动注册?

问题描述 投票:0回答:1

有谁知道是否可以在 Kafka Connect 场景中设置源连接器,以便它不会自动在 Azure 架构注册表上注册架构?

我问,因为我目前正在使用 com.microsoft.azure.schemaregistry.kafka.avro.AvroConverter 类作为源连接器中的值转换器。我正在使用 Kafka Connect 将数据从 postgres 数据库提取到 Kafka 主题,并将架构存储在 Azure 架构注册表中。

自动模式注册不是最佳实践,因此我想避免它。 据我所知,auto.register.schemas 选项已从连接器配置中删除,所以我很感兴趣;有没有其他方法可以防止连接器自动注册架构? 这是 Kafka 存储库的 Azure 架构注册表https://github.com/Azure/azure-schema-registry-for-kafka,其中实现了 AvroConverter 类。

这是我的源连接器的配置:

{
 "name": "jdbc-postgresql-avro-connector-azure",
 "config": {
  "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
  "tasks.max": "1",
  "value.converter": "com.microsoft.azure.schemaregistry.kafka.avro.AvroConverter",
  "value.converter.schema.registry.url": {schemaRegistryUrl},
  "value.converter.schema.group": "postgreskafkaschemagroup",
  "value.converter.tenant.id": {tenantId},
  "value.converter.client.id": {clientId},
  "value.converter.client.secret": {clientSecret},
  "connection.url": {postgresConnectionUrl},
  "connection.user": {user},
  "connection.password": {password},
  "connection.attempts": 3,
  "mode": "incrementing",
  "query": "SELECT * FROM users",
  "table.types": "TABLE",
  "topic.prefix": "users",
  "incrementing.column.name": "id"
 }
}

正如我所说,首先我尝试将 value.converter.auto.register.schemas 设置为 false,并且此配置适用于我向 Kafka 主题生成消息以及 Kafka 生产者使用 KafkaAvroSerializer 作为序列化器类的场景。

不幸的是,auto.regiser.schemas 似乎不存在作为 Kafka Connect 场景中使用的 AvroConverter 的配置选项?

我想知道是否有任何方法可以设置连接器配置,以便它不会自动注册模式。

azure apache-kafka apache-kafka-connect avro azure-eventhub
1个回答
0
投票

自动注册属性特定于 Confluence 转换器。您可以在源代码中找到您正在使用的类的所有可能的配置。

同样,您可以查看 Serializer 类,看看是否可以跳过 url 配置的使用(因此不注册架构)

© www.soinside.com 2019 - 2024. All rights reserved.