All Downloads are FREE. Search and download functionalities are using the official Maven repository.

on.kinesis.amazon-kinesis-producer.1.0.0.source-code.messages.proto Maven / Gradle / Ivy

Go to download

The Amazon Kinesis Producer Library for Java enables developers to easily and reliably put data into Amazon Kinesis.

The newest version!
syntax = "proto2";
import "config.proto";

package aws.kinesis.protobuf;
option java_package = "software.amazon.kinesis.producer.protobuf";

message Tag {
  required string key   = 1;
  optional string value = 2;
}

message Record {
  required uint64 partition_key_index     = 1;
  optional uint64 explicit_hash_key_index = 2;
  required bytes  data                    = 3;
  repeated Tag    tags                    = 4;
}

message AggregatedRecord {
  repeated string partition_key_table     = 1;
  repeated string explicit_hash_key_table = 2;
  repeated Record records                 = 3;
}

message Message {
  required uint64 id        = 1;
  optional uint64 source_id = 2;

  oneof actual_message {
    PutRecord       put_record        = 3;
    Flush           flush             = 4;
    PutRecordResult put_record_result = 5;
    Configuration   configuration     = 6;
    MetricsRequest  metrics_request   = 7;
    MetricsResponse metrics_response  = 8;
    SetCredentials  set_credentials   = 9;
  }
}

message PutRecord {
  required string stream_name          = 1;
  required string partition_key        = 2;
  optional string explicit_hash_key    = 3;
  required bytes  data                 = 4;
}

message Flush {
  optional string stream_name = 1;
}

message Attempt {
  required uint32 delay         = 1;
  required uint32 duration      = 2;
  required bool   success       = 3;
  optional string error_code    = 4;
  optional string error_message = 5;
}

message PutRecordResult {
  repeated Attempt attempts        = 1;
  required bool    success         = 2;
  optional string  shard_id        = 3;
  optional string  sequence_number = 4;
}

// *********** Credentials ************

message Credentials {
  required string akid       = 1;
  required string secret_key = 2;
  optional string token      = 3;
}

message SetCredentials {
  optional bool        for_metrics = 1;
  required Credentials credentials = 2;
}

// *********** Metrics ************

message Dimension {
  required string key   = 1;
  required string value = 2;
}

message Stats {
  required double count = 1;
  required double sum   = 2;
  required double mean  = 3;
  required double min   = 4;
  required double max   = 5;
}

message Metric {
  required string    name       = 1;
  repeated Dimension dimensions = 2;
  required Stats     stats      = 3;
  required uint64    seconds    = 4;
}

message MetricsRequest {
  optional string name    = 1;
  optional uint64 seconds = 2;
}

message MetricsResponse {
  repeated Metric metrics = 1;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy