Sparkplug B Payload Compression
Some Sparkplug libraries contain utilities and helpers for doing compression and
decompression of Sparkplug B payloads. Alternatively this compress and decompression can
be done by any code or application.
Here are the steps required to apply compression to a Sparkplug B payload before publishing
it to an MQTT Server.
Example: Payload compression with no algorithm specified (defaults to DEFLATE)
{ "uuid" : "SPBV1.0_COMPRESSED", "timestamp" : 1486144502122, "seq" : 0, "body" : <compressed-encoded-payload> } |
Example: Payload compression with DEFLATE algorithm
{ "uuid" : "SPBV1.0_COMPRESSED", "timestamp" : 1486144502122, "seq" : 0, "body" : <compressed-encoded-payload> "metrics" : [ { "name" : "algorithm", "dataType" : "String", "value" : "DEFLATE" } ] } |
Example: Payload compression with GZIP algorithm
{ "uuid" : "SPBV1.0_COMPRESSED", "timestamp" : 1486144502122, "seq" : 0, "body" : <compressed-encoded-payload> "metrics" : [ { "name" : "algorithm", "dataType" : "String", "value" : "GZIP" } ] } |