public override void Configure(IFunctionsHostBuilder builder) { var keyVaultName = Environment.GetEnvironmentVariable("KeyVaultName"); var configService = new ConfigService(keyVaultName); configService.LoadConfigurationAsync().Wait(); var tableStorageAccount = CloudStorageAccount.Parse(configService.TableStorageAccountConnectionString); var tableClient = tableStorageAccount.CreateCloudTableClient(); var jobOutputStatusTable = tableClient.GetTableReference(configService.JobOutputStatusTableName); jobOutputStatusTable.CreateIfNotExists(); var jobOutputStatusTableStorageService = new TableStorageService(jobOutputStatusTable); var provisioningRequestQueue = new QueueClient(configService.StorageAccountConnectionString, configService.ProvisioningRequestQueueName); provisioningRequestQueue.CreateIfNotExists(); var jobOutputStatusStorageService = new JobOutputStatusStorageService(jobOutputStatusTableStorageService); var provisioningRequestStorageService = new ProvisioningRequestStorageService(provisioningRequestQueue); var jobOutputStatusService = new JobOutputStatusService(jobOutputStatusStorageService, provisioningRequestStorageService); var eventGridService = new EventGridService(); builder.Services.AddSingleton <IJobOutputStatusService>(jobOutputStatusService); builder.Services.AddSingleton <IEventGridService>(eventGridService); }
public override void Configure(IFunctionsHostBuilder builder) { var keyVaultName = Environment.GetEnvironmentVariable("KeyVaultName"); var configService = new ConfigService(keyVaultName); configService.LoadConfigurationAsync().Wait(); var tableStorageAccount = CloudStorageAccount.Parse(configService.TableStorageAccountConnectionString); var tableClient = tableStorageAccount.CreateCloudTableClient(); var mediaServiceInstanceHealthTable = tableClient.GetTableReference(configService.MediaServiceInstanceHealthTableName); mediaServiceInstanceHealthTable.CreateIfNotExists(); var mediaServiceInstanceHealthTableStorageService = new TableStorageService(mediaServiceInstanceHealthTable); var jobOutputStatusTable = tableClient.GetTableReference(configService.JobOutputStatusTableName); jobOutputStatusTable.CreateIfNotExists(); var jobOutputStatusTableStorageService = new TableStorageService(jobOutputStatusTable); var mediaServiceCallHistoryTable = tableClient.GetTableReference(configService.MediaServiceCallHistoryTableName); mediaServiceCallHistoryTable.CreateIfNotExists(); var mediaServiceCallHistoryTableStorageService = new TableStorageService(mediaServiceCallHistoryTable); var provisioningRequestQueue = new QueueClient(configService.StorageAccountConnectionString, configService.ProvisioningRequestQueueName); provisioningRequestQueue.CreateIfNotExists(); var jobVerificationRequestQueue = new QueueClient(configService.StorageAccountConnectionString, configService.JobVerificationRequestQueueName); jobVerificationRequestQueue.CreateIfNotExists(); var jobOutputStatusStorageService = new JobOutputStatusStorageService(jobOutputStatusTableStorageService); var mediaServiceCallHistoryStorageService = new MediaServiceCallHistoryStorageService(mediaServiceCallHistoryTableStorageService); var mediaServiceInstanceHealthStorageService = new MediaServiceInstanceHealthStorageService(mediaServiceInstanceHealthTableStorageService); var mediaServiceInstanceHealthService = new MediaServiceInstanceHealthService(mediaServiceInstanceHealthStorageService, jobOutputStatusStorageService, mediaServiceCallHistoryStorageService, configService); var provisioningRequestStorageService = new ProvisioningRequestStorageService(provisioningRequestQueue); var jobVerificationRequestStorageService = new JobVerificationRequestStorageService(jobVerificationRequestQueue); var jobVerificationService = new JobVerificationService( mediaServiceInstanceHealthService, jobOutputStatusStorageService, provisioningRequestStorageService, jobVerificationRequestStorageService, new MediaServiceInstanceFactory(mediaServiceCallHistoryStorageService, configService), configService); builder.Services.AddSingleton <IJobVerificationService>(jobVerificationService); }