有谁知道是否可以在 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 的配置选项?
我想知道是否有任何方法可以设置连接器配置,以便它不会自动注册模式。
自动注册属性特定于 Confluence 转换器。您可以在源代码中找到您正在使用的类的所有可能的配置。
同样,您可以查看 Serializer 类,看看是否可以跳过 url 配置的使用(因此不注册架构)