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); }
private async Task InitCosmosDBConsumerAsync() { this.cosmosDBConsumerConfiguration = new ConfigurationBuilder() .AddJsonFile("cosmosConsumerSettings.json") .Build(); this.cosmosDBConsumerSettings = ConfigHelper.LoadCosmosConsumerSettings(this.cosmosDBConsumerConfiguration); this.eventsWriter = new CosmosDBEventsWriter(cosmosDBConsumerSettings); await this.eventsWriter.InitClientsAsync(); }
private static void RegisterCosmosDbClient() { var endpoint = Environment.GetEnvironmentVariable("CosmosdbHang-endpoint"); var key = Environment.GetEnvironmentVariable("CosmosdbHang-key"); var databaseId = Environment.GetEnvironmentVariable("CosmosdbHang-databaseId"); var containerId = Environment.GetEnvironmentVariable("CosmosdbHang-containerId"); var region = Environment.GetEnvironmentVariable("CosmosdbHang-region"); var directMode = true; var settings = new CosmosDBSettings(endpoint, key, databaseId, containerId, region, directMode); ServiceLocator.Repository = new CosmosDbRepository(settings); }