async Task RunAsync() { this.cosmosDBProducerConfiguration = new ConfigurationBuilder() .AddJsonFile("cosmosProducerSettings.json") .Build(); this.consumerRouterConfiguration = new ConfigurationBuilder() .AddJsonFile("consumerRouterSettings.json") .Build(); this.cosmosDBProducerSettings = ConfigHelper.LoadCosmosProducerSettings(this.cosmosDBProducerConfiguration); this.cosmosConsumerRouterSettings = ConfigHelper.LoadCosmosConsumerRouterSettings(this.consumerRouterConfiguration); if (this.cosmosConsumerRouterSettings.Host.ToLower() == "kafka") { this.InitKafkaConsumer(); } else if (this.cosmosConsumerRouterSettings.Host.ToLower() == "cosmos") { await InitCosmosDBConsumerAsync(); } else { throw new Exception($"Unsupported host: {this.cosmosConsumerRouterSettings.Host}"); } this.eventsReader = new CosmosDBEventsReader(cosmosDBProducerSettings); await eventsReader.StartAsync(HandleChangesAsync); }
public KafkaProducer(EventHubKafkaAccount eventHubKafkaAccount, ConsumerRouterSettings consumerRouterSettings) { this.eventHubKafkaAccount = eventHubKafkaAccount; this.consumerRouterSettings = consumerRouterSettings; }