using Microsoft.Azure.Functions.Worker; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using TEAMModelOS.SDK; using TEAMModelOS.SDK.DI; using TEAMModelOS.SDK.DI.IPIP; using TEAMModelOS.SDK.DI.Multiple; var host = new HostBuilder() .ConfigureFunctionsWebApplication() .ConfigureServices((context, services) => { //services.AddApplicationInsightsTelemetryWorkerService(); //services.ConfigureFunctionsApplicationInsights(); services.AddHttpClient(); services.AddHttpClient(); services.AddHttpClient(); services.AddHttpClient(); List<(string name, string connectionString)> cosmosDBConnects = new(); cosmosDBConnects.Add(("Default", context.Configuration.GetSection("Azure:Cosmos:ConnectionString").Get())); cosmosDBConnects.Add(("CoreServiceV1", context.Configuration.GetSection("CoreServiceV1:Cosmos:ConnectionString").Get())); //CoreService V1 read only cosmosDBConnects.Add(("CoreServiceV2", context.Configuration.GetSection("CoreServiceV2:Cosmos:ConnectionString").Get())); //CoreService V2 cosmosDBConnects.Add(("CoreServiceV2CnRead", context.Configuration.GetSection("CoreServiceV2:CosmosCnRead:ConnectionString").Get())); //CoreService V2 CN read only services.AddMultipleAzureCosmos(cosmosDBConnects); services.AddAzureServiceBus(context.Configuration.GetSection("Azure:ServiceBus:ConnectionString").Get()); services.AddAzureRedis(context.Configuration.GetSection("Azure:Redis:ConnectionString").Get()); services.AddSnowflakeId(Convert.ToInt64(context.Configuration.GetSection("Option:LocationNum").Get()), 1); List<(string name, string connectionString)> storageConnects = new(); storageConnects.Add(("Default", context.Configuration.GetSection("Azure:Storage:ConnectionString").Get())); services.AddMultipleAzureStorage(storageConnects); services.AddSingleton(new City(@"Services/ipip.ipdb")); services.AddSingleton(); services.AddHostedService(); }) .Build(); host.Run();