/// <summary> /// Configure for WorkflowTrigger. /// </summary> /// <param name="builder">IFunctionsHostBuilder.</param> public override void Configure(IFunctionsHostBuilder builder) { // Registers the ILogger instance builder.Services.AddLogging(loggingBuilder => { loggingBuilder.AddApplicationInsights(); loggingBuilder.AddFilter("EnrichmentPipeline", LogLevel.Trace); }); builder .Services .AddOptions <DataLakeConfiguration>() .Configure <IConfiguration>((settings, configuration) => { configuration.GetSection(nameof(DataLakeConfiguration)).Bind(settings); }); builder .Services .AddOptions <OutputServiceBusConfiguration>() .Configure <IConfiguration>((settings, configuration) => { configuration.GetSection(nameof(OutputServiceBusConfiguration)).Bind(settings); }); builder.Services.AddSingleton <ISystemInfoService, SystemInfoService>(isp => new SystemInfoService(typeof(Startup).Assembly)); builder.Services.AddSingleton(isp => new StaticTelemetryProperties(isp.GetRequiredService <ISystemInfoService>()) { ComponentName = typeof(Startup).Namespace, HostingEnvironment = "Functions", HostId = Environment.MachineName, }); builder.Services.AddSingleton <ITelemetryInitializer, TelemetryInitializer>(); builder.Services.AddSingleton <IServiceBusClientService, ServiceBusClientService>(); builder.Services.AddSingleton <IServiceBusService, ServiceBusService>(); builder.Services.AddSingleton <IFileStorageService, FileStorageService>(); builder.Services.AddSingleton <IBlobInfoFactoryService, BlobInfoFactoryService>(); builder.Services.AddApplicationInsightsTelemetry(); builder.Services.AddSingleton(x => { DataLakeConfiguration dataLakeConfigValue = x.GetRequiredService <IOptions <DataLakeConfiguration> >().Value; StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(dataLakeConfigValue.Name, dataLakeConfigValue.Key); return(new DataLakeServiceClient(new Uri(dataLakeConfigValue.Uri), sharedKeyCredential)); }); }
private async static Task <DataLakeFileRepository> GetLakeRepository() { try { var tokenProvider = new AADTokenProvider(); var lakeConfig = new DataLakeConfiguration() { AccountName = ADLSstorename, Security = new ClientCredentialsConfig() { Audience = adlsAccountFQDN, Authority = Authority, ClientId = applicationId, ClientSecret = clientSecret, Resource = adlsAccountFQDN, Type = CredentialType.Secret } }; var lakeClient = new DataLakeStoreFileSystemManagementClient(await GetCredentials(lakeConfig.Security, tokenProvider)); var lakeRepo = new DataLakeFileRepository(lakeConfig, lakeClient); Desttemppath = Path.GetTempFileName(); File.Delete(Desttemppath); await lakeRepo.DownloadAsync(ADLSstorename, filepath, Desttemppath); Dec(Desttemppath, PlainFilename); return(lakeRepo); } catch (Exception ex) { var message = ex.Message; throw; } }