Я пишу сценарий php, используя avro для десериализации данных.
Я получаю данные как буфер двоичного потока avro.
В примере с avro php я вижу только пример чтения данных из файла. не двоичный буфер.
Как я могу десериализовать данные?
Я ищу бинарный декодер для avro
$binaryBuffer = <get_avro_serialized_record>
$writersSchema = '{
"type" : "record",
"name" : "Example",
"namespace" : "com.example.record",
"fields" : [ {
"name" : "userId",
"type" : "int".............
}'
$reader = new AvroIODatumReader($writersSchema);
$io = new AvroStringIO($binaryBuffer)
$deserializedRecord = $reader->read(new AvroIOBinaryDecoder($io))
при условии, что вы хотите десериализовать каждую запись отдельно и иметь схему писателей.
Других решений пока нет …