Protocol Buffers Parser
Protocol Buffers is currently experimental and may change in future versions.
The Protocol Buffers parser is used for parsing incoming Protocol Buffers data. To use it set
decoder
to protobuf
and set the fields’ source
to the field number as defined in the protocol
buffers definition.
Types
You will need to specify the corresponding type
and format
. See Parsing Data for more
information about formats.
Proto Type | Schema Type | Schema Format |
---|---|---|
double | number | float64 |
float | number | float32 |
int32 | integer | uint32 |
int64 | integer | uint64 |
uint32 | integer | uint32 |
uint64 | integer | uint64 |
sint32 | integer | int32 |
sint64 | integer | int64 |
fixed32 | integer | uint32 |
fixed64 | integer | uint64 |
sfixed32 | integer | int32 |
sfixed64 | integer | int64 |
bool | boolean | |
string | string | |
bytes | string | bytes |
message | object | |
enum | integer | uint32 / uint64 |
Limitations
Proto enum
values are read as unsigned integers. There is currently no mechanism for mapping these
to the enum values’ string representation.
Example
Protocol Buffers definition:
syntax = "proto3";
message Record {
string name = 1;
int32 age = 2;
}
Decoder configuration:
decoder: protobuf
schema:
type: object
properties:
name:
type: string
source: 1
age:
type: integer
format: uint32
source: 2