mirror of
				https://github.com/datahub-project/datahub.git
				synced 2025-10-31 10:49:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
| syntax = "proto3";
 | |
| package protobuf.clickstream;
 | |
| 
 | |
| import "protobuf/meta/meta.proto";
 | |
| import "protobuf/v1/clickstream/ClickEvent.proto";
 | |
| import "protobuf/v1/clickstream/SearchEvent.proto";
 | |
| import "protobuf/v1/clickstream/ImpressionEvent.proto";
 | |
| 
 | |
| /**
 | |
|   This is a person entity.
 | |
| **/
 | |
| message User {
 | |
|   option(meta.ownership.domain) = "Marketing";
 | |
|   option(meta.ownership.team) = "Marketing";
 | |
|   option(meta.ownership.team) = "Analytics";
 | |
| 
 | |
|   option(meta.message.type) = ENTITY;
 | |
|   option(meta.security.classification_enum) = HighlyConfidential;
 | |
| 
 | |
|   option(meta.kafka.topics) = "users";
 | |
|   option(meta.kafka.topics) = "clickstream_users";
 | |
| 
 | |
|   int32 id = 1 [(meta.datahubField.is_primary_key) = true];
 | |
|   string name = 2; // person's name
 | |
|   string email = 3 ; // email address
 | |
| 
 | |
|   repeated Event recent_events = 4; // recent events
 | |
| }
 | |
| 
 | |
| message Event {
 | |
|     oneof event {
 | |
|         // click interaction
 | |
|         Click click_event = 1;
 | |
|         // user impression event
 | |
|         Impression impression_event = 2;
 | |
|         // user search event
 | |
|         Search search_event = 3;
 | |
|     }
 | |
| }
 | 
