.net 将Avro数据写入BigQuery

.net 将Avro数据写入BigQuery,.net,apache-kafka,google-bigquery,.net,Apache Kafka,Google Bigquery,使用Confluent.Kafka库,我创建了一个.NET Kafka使用者,它从主题读取数据,并将Avro数据反序列化到.NET类 现在,我正试图将其序列化为Avro格式并发送给BigQuery。我希望BigQuery能够基于Avro模式自动生成表结构 我这样设置消费者反序列化器(代表avro模式的AVROGeneratedTo-.NET类): 但是,我从BigQuery获得以下信息: MemoryStream avroStream = new Memo

使用
Confluent.Kafka
库,我创建了一个.NET Kafka使用者,它从主题读取数据,并将Avro数据反序列化到.NET类

现在,我正试图将其序列化为Avro格式并发送给BigQuery。我希望BigQuery能够基于Avro模式自动生成表结构

我这样设置消费者反序列化器(代表avro模式的AVROGeneratedTo-.NET类):

但是,我从BigQuery获得以下信息:

                    MemoryStream avroStream = new MemoryStream(avroSerialized);
                    var job = await _bigQueryClient.UploadAvroAsync(projectId: projectId, datasetId: ArtsdatasetId, tableId: TableId, schema: null, input: avroStream, options: options);
“读取数据时出错,错误消息:Apache Avro库无法解析标头,错误如下:数据文件无效。Magic不匹配。”


这里有什么问题?

为什么不使用Kafka Connect?您指的是什么?这不支持自动创建模式您是说在bigquery中?我认为如果Avro数据changes@cricket_007. 不,此连接器使用autoUpdateSchemas=false bigQueryMessageTimePartitioning=false,并且我至少无法从UI更改它。您可以链接到该配置设置吗?顺便说一下,Kafka Connect没有UI
var serializer = new AvroSerializer<AvroGeneratedDto>(_configProvider.SchemaRegistryClient);
var avroSerialized = await serializer.SerializeAsync(item.Value, new SerializationContext(MessageComponentType.Value, topic: "MyTopic"));
                    MemoryStream avroStream = new MemoryStream(avroSerialized);
                    var job = await _bigQueryClient.UploadAvroAsync(projectId: projectId, datasetId: ArtsdatasetId, tableId: TableId, schema: null, input: avroStream, options: options);