avro php - 从缓冲区读取

时间:2016-04-21 09:20:11

标签: php avro

我正在使用avro编写一个php脚本来反序列化数据。 我收到数据作为avro二进制流的缓冲区。 在avro php示例中,我只看到了从文件中读取数据的示例。不是二进制缓冲区。

如何反序列化数据? 我正在寻找的是avro的二进制解码器

1 个答案:

答案 0 :(得分:0)

$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))

假设您要分别反序列化每个记录,并拥有编写器架构。