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

akkaserverless.eventing.proto Maven / Gradle / Ivy

There is a newer version: 0.9.0
Show newest version
// Copyright 2021 Lightbend Inc.

// Extension for specifying which topics a gRPC endpoint should be connected
// to, in order to facilitate consuming and producing events from a message broker.

syntax = "proto3";

package akkaserverless;

option go_package = "github.com/lightbend/akkaserverless-go-sdk/akkaserverless;akkaserverless";
option java_multiple_files = true;
option java_outer_classname = "EventsProto";
option java_package = "com.akkaserverless";

import "google/protobuf/descriptor.proto";

// Eventing configuration for a gRPC method.
message Eventing {
  // The event source in configuration.
  EventSource in = 1;
  // The event destination out configuration.
  //
  // Optional, if unset, messages out will not be published anywhere.
  EventDestination out = 2;
}

// Event source configuration
message EventSource {
  // The consumer group id.
  //
  // By default, all rpc methods on a given service with the same source will be
  // part of the same virtual consumer group, messages will be routed to the
  // different methods by type. This can be used to override that. If you want
  // multiple methods to act as independent consumers of the same source (ie, if
  // you want the same event to be published to each consumer) then give each
  // consumer a unique name.
  //
  // Note that this does depend on the event source supporting multiple consumer
  // groups. Queue based event sources may not support this.
  string consumer_group = 1;
  oneof source {
    // A topic source.
    //
    // This will consume events from the given topic name.
    string topic = 2;
    // Source for events emitted by an Event Sourced Entity.
    //
    // This will consume events from the Event Sourced Entity with the given entity type name.
    string event_sourced_entity = 3;
    // Source for updates issued by a Value Entity.
    //
    // This will consume changes to the Value Entity with the given entity type name.
    string value_entity = 4;
  }
}

message EventDestination {
  oneof destination {
    string topic = 1;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy