Pub/Sub messages schema

This guide shows some examples of output messages that Manufacturing Data Engine (MDE) publishes over Pub/Sub.

Protobuf Pub/Sub sink

The output messages that MDE publish over Pub/Sub have the following schema in Protobuf format.

  syntax 
  
 = 
  
 "proto3" 
 ; 
 package 
  
 google 
 . 
 cloud.mde.sink 
 ; 
 option 
  
 java_package 
  
 = 
  
 "com.google.cloud.industry.manufacturing.mde.sink.pubsub" 
 ; 
 option 
  
 java_multiple_files 
  
 = 
  
 true 
 ; 
 message 
  
 MDETagStreamingObject 
  
 { 
  
 string 
  
 id 
  
 = 
  
 1 
 ; 
  
 string 
  
 tag_name 
  
 = 
  
 2 
 ; 
  
 int32 
  
 type_version 
  
 = 
  
 3 
 ; 
  
 string 
  
 embedded_metadata 
  
 = 
  
 4 
 ; 
  
 string 
  
 materialized_cloud_metadata 
  
 = 
  
 5 
 ; 
  
 string 
  
 cloud_metadata_ref 
  
 = 
  
 6 
 ; 
  
 int64 
  
 ingest_timestamp 
  
 = 
  
 7 
 ; 
  
 string 
  
 source_message_id 
  
 = 
  
 8 
 ; 
  
 TagStreamingTimestampObject 
  
 timestamps 
  
 = 
  
 9 
 ; 
  
 TagStreamingDataObject 
  
 data 
  
 = 
  
 10 
 ; 
  
 TagStreamingFormat 
  
 format 
  
 = 
  
 11 
 ; 
  
 message 
  
 TagStreamingDataObject 
  
 { 
  
 oneof 
  
 data_values 
  
 { 
  
 double 
  
 numeric 
  
 = 
  
 1 
 ; 
  
 string 
  
 complex 
  
 = 
  
 2 
 ; 
  
 } 
  
 } 
  
 message 
  
 TagStreamingTimestampObject 
  
 { 
  
 oneof 
  
 timestamps 
  
 { 
  
 int64 
  
 event_timestamp 
  
 = 
  
 1 
 ; 
  
 TagStreamingContinuousTimestampObject 
  
 continuous_timestamp 
  
 = 
  
 2 
 ; 
  
 } 
  
 } 
  
 message 
  
 TagStreamingContinuousTimestampObject 
  
 { 
  
 int64 
  
 event_timestamp_start 
  
 = 
  
 1 
 ; 
  
 int64 
  
 event_timestamp_end 
  
 = 
  
 2 
 ; 
  
 } 
  
 enum 
  
 TagStreamingFormat 
  
 { 
  
 PROTO 
  
 = 
  
 0 
 ; 
  
 JSON 
  
 = 
  
 1 
 ; 
  
 } 
 } 
 

JSON Pub/Sub sink

The output messages that MDE publish over Pub/Sub have the following schema in JSON format.

  { 
  
 "$schema" 
 : 
  
 "https://json-schema.org/draft/2020-12/schema" 
 , 
  
 "title" 
 : 
  
 "JSON Pub/Sub sink" 
 , 
  
 "type" 
 : 
  
 "object" 
 , 
  
 "properties" 
 : 
  
 { 
  
 "id" 
 : 
  
 { 
  
 "type" 
 : 
  
 "string" 
  
 }, 
  
 "tagName" 
 : 
  
 { 
  
 "type" 
 : 
  
 "string" 
  
 }, 
  
 "typeVersion" 
 : 
  
 { 
  
 "type" 
 : 
  
 "number" 
  
 }, 
  
 "embeddedMetadata" 
 : 
  
 { 
  
 "type" 
 : 
  
 "object" 
  
 }, 
  
 "materialized_cloud_metadata" 
 : 
  
 { 
  
 "type" 
 : 
  
 "object" 
 , 
  
 "description" 
 : 
  
 "Keys are cloud metadata bucket bucket names" 
 , 
  
 "additionalProperties" 
 : 
  
 { 
  
 "type" 
 : 
  
 "object" 
 , 
  
 "description" 
 : 
  
 "Cloud metadata instance" 
  
 } 
  
 }, 
  
 "cloud_metadata_ref" 
 : 
  
 { 
  
 "type" 
 : 
  
 "object" 
 , 
  
 "description" 
 : 
  
 "Keys are cloud metadata bucket bucket names" 
 , 
  
 "additionalProperties" 
 : 
  
 { 
  
 "type" 
 : 
  
 "object" 
 , 
  
 "properties" 
 : 
  
 { 
  
 "instance_id" 
 : 
  
 { 
  
 "type" 
 : 
  
 "string" 
 , 
  
 "description" 
 : 
  
 "Cloud metadata instance id" 
 , 
  
 "format" 
 : 
  
 "uuid" 
  
 } 
  
 } 
  
 } 
  
 }, 
  
 "ingestTimestamp" 
 : 
  
 { 
  
 "type" 
 : 
  
 "number" 
 , 
  
 "description" 
 : 
  
 "Timestamp when message was published to the Pub/Sub sink topic" 
 , 
  
 "format" 
 : 
  
 "unix-epoch-millis" 
  
 }, 
  
 "source_message_id" 
 : 
  
 { 
  
 "type" 
 : 
  
 "string" 
 , 
  
 "description" 
 : 
  
 "Pub/Sub source message id" 
 , 
  
 "format" 
 : 
  
 "uuid" 
  
 }, 
  
 "timestamps" 
 : 
  
 { 
  
 "type" 
 : 
  
 "object" 
 , 
  
 "oneOf" 
 : 
  
 [ 
  
 { 
  
 "type" 
 : 
  
 "object" 
 , 
  
 "properties" 
 : 
  
 { 
  
 "eventTimestamp" 
 : 
  
 { 
  
 "type" 
 : 
  
 "number" 
 , 
  
 "description" 
 : 
  
 "Event timestamp" 
 , 
  
 "format" 
 : 
  
 "unix-epoch-millis" 
  
 } 
  
 }, 
  
 "required" 
 : 
  
 [ 
 "eventTimestamp" 
 ] 
  
 }, 
  
 { 
  
 "type" 
 : 
  
 "object" 
 , 
  
 "properties" 
 : 
  
 { 
  
 "eventTimestampStart" 
 : 
  
 { 
  
 "type" 
 : 
  
 "number" 
 , 
  
 "description" 
 : 
  
 "Event timestamp" 
 , 
  
 "format" 
 : 
  
 "unix-epoch-millis" 
  
 }, 
  
 "eventTimestampEnd" 
 : 
  
 { 
  
 "type" 
 : 
  
 "number" 
 , 
  
 "description" 
 : 
  
 "Event timestamp" 
 , 
  
 "format" 
 : 
  
 "unix-epoch-millis" 
  
 } 
  
 }, 
  
 "required" 
 : 
  
 [ 
 "eventTimestampStart" 
 , 
  
 "eventTimestampEnd" 
 ] 
  
 } 
  
 ] 
  
 }, 
  
 "data" 
 : 
  
 { 
  
 "type" 
 : 
  
 "object" 
 , 
  
 "additionalProperties" 
 : 
  
 true 
  
 }, 
  
 "format" 
 : 
  
 { 
  
 "type" 
 : 
  
 "number" 
 , 
  
 "enum" 
 : 
  
 [ 
 0 
 , 
  
 1 
 ] 
  
 } 
  
 }, 
  
 "required" 
 : 
  
 [ 
  
 "id" 
 , 
  
 "tagName" 
 , 
  
 "typeVersion" 
 , 
  
 "ingestTimestamp" 
 , 
  
 "source_message_id" 
 , 
  
 "timestamps" 
 , 
  
 "data" 
 , 
  
 "format" 
  
 ] 
 } 
 
Create a Mobile Website
View Site in Mobile | Classic
Share by: