public DocDbRestUtility(IConfigurationProvider configProvider) : this(configProvider.GetConfigurationSettingValue("docdb.EndpointUrl"), configProvider.GetConfigurationSettingValue("docdb.PrimaryAuthorizationKey"), configProvider.GetConfigurationSettingValue("docdb.DatabaseId"), configProvider.GetConfigurationSettingValue("docdb.DocumentCollectionId")) { }
public VirtualDeviceTableStorage(IConfigurationProvider configProvider, IAzureTableStorageClientFactory tableStorageClientFactory) { var storageConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); var deviceTableName = configProvider.GetConfigurationSettingValue("device.TableName"); _azureTableStorageClient = tableStorageClientFactory.CreateClient(storageConnectionString, deviceTableName); }
public DocDbRestHelper(IConfigurationProvider configProvider) { this._docDbEndpoint = configProvider.GetConfigurationSettingValue("docdb.EndpointUrl"); this._docDbKey = configProvider.GetConfigurationSettingValue("docdb.PrimaryAuthorizationKey"); this._dbName = configProvider.GetConfigurationSettingValue("docdb.DatabaseId"); this._collectionName = configProvider.GetConfigurationSettingValue("docdb.DocumentCollectionId"); }
public void ConfigureAuth(IAppBuilder app, IConfigurationProvider configProvider) { string aadClientId = configProvider.GetConfigurationSettingValue("ida.AADClientId"); string aadInstance = configProvider.GetConfigurationSettingValue("ida.AADInstance"); string aadTenant = configProvider.GetConfigurationSettingValue("ida.AADTenant"); string authority = string.Format(CultureInfo.InvariantCulture, aadInstance, aadTenant); app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); app.UseCookieAuthentication(new CookieAuthenticationOptions()); app.UseOpenIdConnectAuthentication( new OpenIdConnectAuthenticationOptions { ClientId = aadClientId, Authority = authority, Notifications = new OpenIdConnectAuthenticationNotifications { AuthenticationFailed = context => { string appBaseUrl = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase; context.ProtocolMessage.RedirectUri = appBaseUrl + "/"; context.HandleResponse(); context.Response.Redirect(context.ProtocolMessage.RedirectUri); return(Task.FromResult(0)); } } }); }
public void ConfigureAuth(IAppBuilder app, IConfigurationProvider configProvider) { string aadClientId = configProvider.GetConfigurationSettingValue("ida.AADClientId"); string aadInstance = configProvider.GetConfigurationSettingValue("ida.AADInstance"); string aadTenant = configProvider.GetConfigurationSettingValue("ida.AADTenant"); string authority = string.Format(CultureInfo.InvariantCulture, aadInstance, aadTenant); app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); app.UseCookieAuthentication(new CookieAuthenticationOptions()); app.UseOpenIdConnectAuthentication( new OpenIdConnectAuthenticationOptions { ClientId = aadClientId, Authority = authority, Notifications = new OpenIdConnectAuthenticationNotifications { AuthenticationFailed = context => { string appBaseUrl = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase; context.ProtocolMessage.RedirectUri = appBaseUrl + "/"; context.HandleResponse(); context.Response.Redirect(context.ProtocolMessage.RedirectUri); return Task.FromResult(0); } } }); }
public MLDataProcessorHost( IConfigurationProvider configurationProvider) : base(configurationProvider.GetConfigurationSettingValue("eventHub.HubName"), configurationProvider.GetConfigurationSettingValue("eventHub.ConnectionString"), configurationProvider.GetConfigurationSettingValue("eventHub.StorageConnectionString"), configurationProvider) { }
public ActionMappingRepository(IConfigurationProvider configurationProvider, IBlobStorageClientFactory blobStorageClientFactory) { string blobName = configurationProvider.GetConfigurationSettingValue("ActionMappingStoreBlobName"); string connectionString = configurationProvider.GetConfigurationSettingValue("device.StorageConnectionString"); string containerName = configurationProvider.GetConfigurationSettingValue("ActionMappingStoreContainerName"); _blobName = blobName; _blobStorageManager = blobStorageClientFactory.CreateClient(connectionString, containerName); }
public void ConfigureAuth(IAppBuilder app, IConfigurationProvider configProvider) { string aadClientId = configProvider.GetConfigurationSettingValue("ida.AADClientId"); string aadInstance = configProvider.GetConfigurationSettingValue("ida.AADInstance"); string aadTenant = configProvider.GetConfigurationSettingValue("ida.AADTenant"); string authority = string.Format(CultureInfo.InvariantCulture, aadInstance, aadTenant); app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); app.UseCookieAuthentication(new CookieAuthenticationOptions()); app.UseOpenIdConnectAuthentication( new OpenIdConnectAuthenticationOptions { ClientId = aadClientId, Authority = authority, PostLogoutRedirectUri = configProvider.GetConfigurationSettingValue("RedirectUrl"), RedirectUri = configProvider.GetConfigurationSettingValue("RedirectUrl"), TokenValidationParameters = new TokenValidationParameters { // SaveSigninToken = true, RoleClaimType = "http://schemas.microsoft.com/ws/2008/06/identity/claims/role", }, Notifications = new OpenIdConnectAuthenticationNotifications { AuthenticationFailed = async context => { string appBaseUrl = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase; context.ProtocolMessage.RedirectUri = appBaseUrl + "/"; context.HandleResponse(); context.Response.Redirect(context.ProtocolMessage.RedirectUri); await Task.FromResult(0).ConfigureAwait(false); }, RedirectToIdentityProvider = async context => { context.ProtocolMessage.Prompt = "login"; await Task.FromResult(0).ConfigureAwait(false); }, AuthorizationCodeReceived = async context => { /* * var code = context.Code; * ClientCredential credential = new ClientCredential(aadClientId, "DA7uLMjQK9UTDyVQD9nR8k47ahhHJhfRykBcJgTxMSY="); * AuthenticationContext authContext = new AuthenticationContext(authority, TokenCache.DefaultShared); * Uri uri = new Uri(HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Path)); * var result = await authContext.AcquireTokenByAuthorizationCodeAsync(code, uri, credential, "https://graph.windows.net").ConfigureAwait(false); * string accessToken = result.AccessToken; * var header = result.CreateAuthorizationHeader(); */ } } }); this.WSFedAuth(app, configProvider); }
public SimulationController(IIotHubRepository iotHubRepository, IConfigurationProvider configProvider) { this.iotHubRepository = iotHubRepository; this.configurationProvider = configProvider; this.storageConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); this.telemetryTableName = configProvider.GetConfigurationSettingValue("TelemetryStoreContainerName"); this.mlResultTableName = configProvider.GetConfigurationSettingValue("MLResultTableName"); this.simulatorStateTableName = configProvider.GetConfigurationSettingValue("SimulatorStateTableName"); }
/// <summary> /// Creates a new instance of <see cref="DocumentDBClient{T}"/> /// </summary> /// <param name="configurationProvider"></param> public DocumentDBClient(IConfigurationProvider configurationProvider) { string endpointUrl = configurationProvider.GetConfigurationSettingValue("docdb.EndpointUrl"); string primaryAuthorizationKey = configurationProvider.GetConfigurationSettingValue("docdb.PrimaryAuthorizationKey"); _client = new DocumentClient(new Uri(endpointUrl), primaryAuthorizationKey); _databaseId = configurationProvider.GetConfigurationSettingValue("docdb.DatabaseId"); _collectionName = configurationProvider.GetConfigurationSettingValue("docdb.DocumentCollectionId"); }
public void ConfigureAuth(IAppBuilder app, IConfigurationProvider configProvider) { app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); // Primary authentication method for web site to Azure AD via the WsFederation below app.UseCookieAuthentication(new CookieAuthenticationOptions()); string federationMetadataAddress = configProvider.GetConfigurationSettingValue("ida.FederationMetadataAddress"); string federationRealm = configProvider.GetConfigurationSettingValue("ida.FederationRealm"); if (string.IsNullOrEmpty(federationMetadataAddress) || string.IsNullOrEmpty(federationRealm)) { throw new ApplicationException("Config issue: Unable to load required federation values from web.config or other configuration source."); } // check for default values that will cause app to fail to startup with an unhelpful 404 exception if (federationMetadataAddress.StartsWith("-- ", StringComparison.Ordinal) || federationRealm.StartsWith("-- ", StringComparison.Ordinal)) { throw new ApplicationException("Config issue: Default federation values from web.config need to be overridden or replaced."); } app.UseWsFederationAuthentication( new WsFederationAuthenticationOptions { MetadataAddress = federationMetadataAddress, Wtrealm = federationRealm }); string aadTenant = configProvider.GetConfigurationSettingValue("ida.AADTenant"); string aadAudience = configProvider.GetConfigurationSettingValue("ida.AADAudience"); if (string.IsNullOrEmpty(aadTenant) || string.IsNullOrEmpty(aadAudience)) { throw new ApplicationException("Config issue: Unable to load required AAD values from web.config or other configuration source."); } // check for default values that will cause failure if (aadTenant.StartsWith("-- ", StringComparison.Ordinal) || aadAudience.StartsWith("-- ", StringComparison.Ordinal)) { throw new ApplicationException("Config issue: Default AAD values from web.config need to be overridden or replaced."); } // Fallback authentication method to allow "Authorization: Bearer <token>" in the header for WebAPI calls app.UseWindowsAzureActiveDirectoryBearerAuthentication( new WindowsAzureActiveDirectoryBearerAuthenticationOptions { Tenant = aadTenant, TokenValidationParameters = new TokenValidationParameters { ValidAudience = aadAudience, RoleClaimType = "http://schemas.microsoft.com/identity/claims/scope" // Used to unwrap token roles and provide them to [Authorize(Roles="")] attributes } }); }
private void WSFedAuth(IAppBuilder app, IConfigurationProvider configProvider) { /* * string federationMetadataAddress = configProvider.GetConfigurationSettingValue("ida.FederationMetadataAddress"); * string federationRealm = configProvider.GetConfigurationSettingValue("ida.FederationRealm"); * * if (string.IsNullOrEmpty(federationMetadataAddress) || string.IsNullOrEmpty(federationRealm)) * { * throw new ApplicationException("Config issue: Unable to load required federation values from web.config or other configuration source."); * } * * // check for default values that will cause app to fail to startup with an unhelpful 404 exception * if (federationMetadataAddress.StartsWith("-- ", StringComparison.Ordinal) || * federationRealm.StartsWith("-- ", StringComparison.Ordinal)) * { * throw new ApplicationException("Config issue: Default federation values from web.config need to be overridden or replaced."); * } * * app.UseWsFederationAuthentication( * new WsFederationAuthenticationOptions * { * MetadataAddress = federationMetadataAddress, * Wtrealm = federationRealm * }); * */ string aadTenant = configProvider.GetConfigurationSettingValue("ida.AADTenant"); string aadAudience = configProvider.GetConfigurationSettingValue("ida.AADAudience"); if (string.IsNullOrEmpty(aadTenant) || string.IsNullOrEmpty(aadAudience)) { throw new ApplicationException("Config issue: Unable to load required AAD values from web.config or other configuration source."); } // check for default values that will cause failure if (aadTenant.StartsWith("-- ", StringComparison.Ordinal) || aadAudience.StartsWith("-- ", StringComparison.Ordinal)) { throw new ApplicationException("Config issue: Default AAD values from web.config need to be overridden or replaced."); } // Fallback authentication method to allow "Authorization: Bearer <token>" in the header for WebAPI calls app.UseWindowsAzureActiveDirectoryBearerAuthentication( new WindowsAzureActiveDirectoryBearerAuthenticationOptions { Tenant = aadTenant, TokenValidationParameters = new TokenValidationParameters { ValidAudience = aadAudience, RoleClaimType = "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" // Used to unwrap token roles and provide them to [Authorize(Roles="")] attributes }, }); }
/// <summary> /// Initializes a new instance of the AlertsRepository class. /// </summary> /// <param name="configProvider"> /// The IConfigurationProvider implementation with which the new /// instance will be initialized. /// </param> public AlertsRepository(IConfigurationProvider configProvider) { if (configProvider == null) { throw new ArgumentNullException("configProvider"); } this.alertsContainerConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); this.alertsStoreContainerName = configProvider.GetConfigurationSettingValue("AlertsStoreContainerName"); this.deviceAlertsDataPrefix =configProvider.GetConfigurationSettingValue("DeviceAlertsDataPrefix"); }
/// <summary> /// Initializes a new instance of the AlertsRepository class. /// </summary> /// <param name="configProvider"> /// The IConfigurationProvider implementation with which the new /// instance will be initialized. /// </param> public AlertsRepository(IConfigurationProvider configProvider) { if (configProvider == null) { throw new ArgumentNullException("configProvider"); } this.alertsContainerConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); this.alertsStoreContainerName = configProvider.GetConfigurationSettingValue("AlertsStoreContainerName"); this.deviceAlertsDataPrefix = configProvider.GetConfigurationSettingValue("DeviceAlertsDataPrefix"); }
public DocDbRestUtility(IConfigurationProvider configProvider) { if (configProvider == null) { throw new ArgumentNullException("configProvider"); } _docDbEndpoint = configProvider.GetConfigurationSettingValue("docdb.EndpointUrl"); _docDbKey = configProvider.GetConfigurationSettingValue("docdb.PrimaryAuthorizationKey"); _dbName = configProvider.GetConfigurationSettingValue("docdb.DatabaseId"); _collectionName = configProvider.GetConfigurationSettingValue("docdb.DocumentCollectionId"); }
/// <summary> /// Initializes a new instance of the AlertsRepository class. /// </summary> /// <param name="configProvider"> /// The IConfigurationProvider implementation with which the new /// instance will be initialized. /// </param> public AlertsRepository(IConfigurationProvider configProvider, IBlobStorageClientFactory blobStorageClientFactory) { if (configProvider == null) { throw new ArgumentNullException("configProvider"); } string alertsContainerConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); string alertsStoreContainerName = configProvider.GetConfigurationSettingValue("AlertsStoreContainerName"); this._blobStorageManager = blobStorageClientFactory.CreateClient(alertsContainerConnectionString, alertsStoreContainerName); this.deviceAlertsDataPrefix = configProvider.GetConfigurationSettingValue("DeviceAlertsDataPrefix"); }
/// <summary> /// Initializes a new instance of the DeviceTelemetryRepository class. /// </summary> /// <param name="configProvider"> /// The IConfigurationProvider implementation with which to initialize /// the new instance. /// </param> public DeviceTelemetryRepository(IConfigurationProvider configProvider) { if (configProvider == null) { throw new ArgumentNullException("configProvider"); } _telemetryContainerName = configProvider.GetConfigurationSettingValue("TelemetryStoreContainerName"); _telemetryDataPrefix = configProvider.GetConfigurationSettingValue("TelemetryDataPrefix"); _telemetryStoreConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); _telemetrySummaryPrefix = configProvider.GetConfigurationSettingValue("TelemetrySummaryPrefix"); }
/// <summary> /// Initializes a new instance of the DeviceTelemetryRepository class. /// </summary> /// <param name="configProvider"> /// The IConfigurationProvider implementation with which to initialize /// the new instance. /// </param> public DeviceTelemetryRepository(IConfigurationProvider configProvider, IBlobStorageClientFactory blobStorageClientFactory) { if (configProvider == null) { throw new ArgumentNullException("configProvider"); } string telemetryContainerName = configProvider.GetConfigurationSettingValue("TelemetryStoreContainerName"); _telemetryDataPrefix = configProvider.GetConfigurationSettingValue("TelemetryDataPrefix"); string telemetryStoreConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); _telemetrySummaryPrefix = configProvider.GetConfigurationSettingValue("TelemetrySummaryPrefix"); _blobStorageManager = blobStorageClientFactory.CreateClient(telemetryStoreConnectionString,telemetryContainerName); }
/// <summary> /// Initializes a new instance of the LocationJerkRepository class. /// </summary> /// <param name="configProvider"> /// The IConfigurationProvider implementation with which to initialize /// the new instance. /// </param> /// <param name="blobStorageClientFactory"> /// The IBlobStorageClientFactory implementation with which to initialize /// the new instance. /// </param> public LocationJerkRepository(IConfigurationProvider configProvider, IBlobStorageClientFactory blobStorageClientFactory) { if (configProvider == null) { throw new ArgumentNullException("configProvider"); } string blobName = configProvider.GetConfigurationSettingValue("LocationJerkBlobName"); string connectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); string containerName = configProvider.GetConfigurationSettingValue("LocationJerkContainerName"); _blobName = blobName; _blobStorageManager = blobStorageClientFactory.CreateClient(connectionString, containerName); }
public DeviceRulesRepository(IConfigurationProvider configurationProvider) { this._configurationProvider = configurationProvider; _storageAccountConnectionString = configurationProvider.GetConfigurationSettingValue("device.StorageConnectionString"); _deviceRulesBlobStoreContainerName = configurationProvider.GetConfigurationSettingValue("DeviceRulesStoreContainerName"); _deviceRulesNormalizedTableName = configurationProvider.GetConfigurationSettingValue("DeviceRulesTableName"); _blobName = configurationProvider.GetConfigurationSettingValue("AsaRefDataRulesBlobName"); // note: InvariantCulture is read-only, so use en-US and hardcode all relevant aspects CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); _formatInfo = culture.DateTimeFormat; _formatInfo.ShortDatePattern = @"yyyy-MM-dd"; _formatInfo.ShortTimePattern = @"HH-mm"; }
/// <summary> /// Initializes a new instance of the DeviceTelemetryRepository class. /// </summary> /// <param name="configProvider"> /// The IConfigurationProvider implementation with which to initialize /// the new instance. /// </param> public DeviceTelemetryRepository(IConfigurationProvider configProvider, IBlobStorageClientFactory blobStorageClientFactory) { if (configProvider == null) { throw new ArgumentNullException("configProvider"); } string telemetryContainerName = configProvider.GetConfigurationSettingValue("TelemetryStoreContainerName"); _telemetryDataPrefix = configProvider.GetConfigurationSettingValue("TelemetryDataPrefix"); string telemetryStoreConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); _telemetrySummaryPrefix = configProvider.GetConfigurationSettingValue("TelemetrySummaryPrefix"); _blobStorageManager = blobStorageClientFactory.CreateClient(telemetryStoreConnectionString, telemetryContainerName); }
private async Task ProcessEventItem(dynamic eventData) { if (eventData == null || eventData.ObjectType == null) { Trace.TraceWarning("Event has no ObjectType defined. No action was taken on Event packet."); return; } string objectType = eventData.ObjectType.ToString(); var objectTypePrefix = _configurationProvider.GetConfigurationSettingValue("ObjectTypePrefix"); if (string.IsNullOrWhiteSpace(objectTypePrefix)) { objectTypePrefix = ""; } if (objectType == objectTypePrefix + SampleDeviceFactory.OBJECT_TYPE_DEVICE_INFO) { await ProcessDeviceInfo(eventData); } else { Trace.TraceWarning("Unknown ObjectType in event."); } }
public EngineTelemetryFactory(ILogger logger, IConfigurationProvider config) { _logger = logger; _config = config; // This will load the CSV data from the specified file in blob storage; // any failure in accessing or reading the data will be handled as an exception Stream dataStream = CloudStorageAccount .Parse(config.GetConfigurationSettingValue("device.StorageConnectionString")) .CreateCloudBlobClient() .GetContainerReference(config.GetConfigurationSettingValue("SimulatorDataContainer")) .GetBlockBlobReference(config.GetConfigurationSettingValue("SimulatorDataFileName")) .OpenRead(); _dataset = ParsingHelper.ParseCsv(new StreamReader(dataStream)).ToExpandoObjects().ToList(); }
private async Task <List <string> > BootstrapDefaultDevices() { List <string> sampleIds = SampleDeviceFactory.GetDefaultDeviceNames(); foreach (string id in sampleIds) { dynamic device = DeviceSchemaHelper.BuildDeviceStructure(id, true); SecurityKeys securityKeys = _securityKeyGenerator.CreateRandomKeys(); try { await _iotHubRepository.AddDeviceAsync(device, securityKeys); await _virtualDeviceStorage.AddOrUpdateDeviceAsync(new InitialDeviceConfig() { DeviceId = DeviceSchemaHelper.GetDeviceID(device), HostName = _configProvider.GetConfigurationSettingValue("iotHub.HostName"), Key = securityKeys.PrimaryKey }); } catch (Exception ex) { //if we fail adding to table storage for the device simulator just continue Trace.TraceError("Failed to add simulated device : {0}", ex.Message); } } return(sampleIds); }
public MRSServiceInvoker(IConfigurationProvider configurationProvider) { _configurationProvider = configurationProvider; var baseUri = new Uri(_configurationProvider.GetConfigurationSettingValue("MRSApiUrl")); pmRClient = new PredictiveMaintenance(baseUri); }
public DeviceIconRepository(IConfigurationProvider configurationProvider, IBlobStorageClientFactory blobStorageClientFactory) { _storageAccountConnectionString = configurationProvider.GetConfigurationSettingValue("device.StorageConnectionString"); _deviceIconsBlobStoreContainerName = configurationProvider.GetConfigurationSettingValueOrDefault("DeviceIconStoreContainerName", "deviceicons"); _blobStorageClient = blobStorageClientFactory.CreateClient(_storageAccountConnectionString, _deviceIconsBlobStoreContainerName); _writePolicyName = _deviceIconsBlobStoreContainerName + "-write"; }
/// <summary> /// Sends an event to IoT Hub using the provided eventId GUID /// </summary> /// <param name="device"></param> /// <param name="eventId"></param> /// <param name="eventData"></param> /// <returns></returns> public async Task SendEventAsync(Guid eventId, dynamic eventData) { byte[] bytes; string objectType = this.GetObjectType(eventData); var objectTypePrefix = _configurationProvider.GetConfigurationSettingValue("ObjectTypePrefix"); if (!string.IsNullOrWhiteSpace(objectType) && !string.IsNullOrEmpty(objectTypePrefix)) { eventData.ObjectType = objectTypePrefix + objectType; } // sample code to trace the raw JSON that is being sent //string rawJson = JsonConvert.SerializeObject(eventData); //Trace.TraceInformation(rawJson); bytes = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(eventData)); var message = new Client.Message(bytes); message.Properties["EventId"] = eventId.ToString(); await AzureRetryHelper.OperationWithBasicRetryAsync(async() => { try { await _deviceClient.SendEventAsync(message); } catch (Exception ex) { _logger.LogError($"SendEventAsync failed, device: {_device.DeviceID}, exception: {ex.Message}"); } }); }
public JobRepository(IConfigurationProvider configurationProvider, IAzureTableStorageClientFactory tableStorageClientFactory) { var connectionString = configurationProvider.GetConfigurationSettingValue("device.StorageConnectionString"); var tableName = configurationProvider.GetConfigurationSettingValueOrDefault("JobTableName", "JobList"); _azureTableStorageClient = tableStorageClientFactory.CreateClient(connectionString, tableName); }
public DeviceRulesRepository(IConfigurationProvider configurationProvider) { _configurationProvider = configurationProvider; _storageAccountConnectionString = configurationProvider.GetConfigurationSettingValue("device.StorageConnectionString"); _deviceRulesBlobStoreContainerName = configurationProvider.GetConfigurationSettingValue("DeviceRulesStoreContainerName"); _deviceRulesNormalizedTableName = configurationProvider.GetConfigurationSettingValue("DeviceRulesTableName"); _blobName = configurationProvider.GetConfigurationSettingValue("AsaRefDataRulesBlobName"); // note: InvariantCulture is read-only, so use en-US and hardcode all relevant aspects CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); _formatInfo = culture.DateTimeFormat; _formatInfo.ShortDatePattern = @"yyyy-MM-dd"; _formatInfo.ShortTimePattern = @"HH-mm"; }
public LocationRulesRepository(IConfigurationProvider configurationProvider, IAzureTableStorageClientFactory tableStorageClientFactory, IBlobStorageClientFactory blobStorageClientFactory) { _storageAccountConnectionString = configurationProvider.GetConfigurationSettingValue("device.StorageConnectionString"); _locationRulesBlobStoreContainerName = configurationProvider.GetConfigurationSettingValue("LocationRulesStoreContainerName"); _locationRulesNormalizedTableName = configurationProvider.GetConfigurationSettingValue("LocationRulesTableName"); _azureTableStorageClient = tableStorageClientFactory.CreateClient(_storageAccountConnectionString, _locationRulesNormalizedTableName); _blobName = configurationProvider.GetConfigurationSettingValue("AsaRefLocationRulesBlobName"); _blobStorageClient = blobStorageClientFactory.CreateClient(_storageAccountConnectionString, _locationRulesBlobStoreContainerName); // note: InvariantCulture is read-only, so use en-US and hardcode all relevant aspects CultureInfo culture = CultureInfo.CreateSpecificCulture("en-US"); _formatInfo = culture.DateTimeFormat; _formatInfo.ShortDatePattern = @"yyyy-MM-dd"; _formatInfo.ShortTimePattern = @"HH-mm"; }
public override async Task ProcessItem(dynamic eventData) { // Ensure this is a correctly-formatted event for ML; ignore it otherwise if (eventData == null || eventData.deviceid == null || eventData.cycle == null || eventData.sensor9 == null || eventData.sensor11 == null || eventData.sensor14 == null || eventData.sensor15 == null) { return; } // The experiment theoretically supports multiple inputs at once, // even though we only get one value at a time, so the request // requires an array of inputs MLRequest mlRequest = new MLRequest(ML_REQUEST_COLUMNS, new string[, ] { { // The id is required to be numeric, so we hash the actual device id eventData.deviceid.ToString().GetHashCode().ToString(), // The remaining entries are string representations of the numeric values eventData.cycle.ToString(), eventData.sensor9.ToString(), eventData.sensor11.ToString(), eventData.sensor14.ToString(), eventData.sensor15.ToString() } } ); HttpClient http = new HttpClient(); http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _configurationProvider.GetConfigurationSettingValue("MLApiKey")); http.BaseAddress = new Uri(_configurationProvider.GetConfigurationSettingValue("MLApiUrl") + ML_ENDPOINT); HttpResponseMessage response = await http.PostAsJsonAsync("", mlRequest); if (response.IsSuccessStatusCode) { MLResponse result = JsonConvert.DeserializeObject <MLResponse>(await response.Content.ReadAsStringAsync()); RulTableEntity entry = new RulTableEntity { PartitionKey = eventData.deviceid.ToString(), RowKey = eventData.cycle.ToString(), // Extract the single relevant RUL value from the JSON output Rul = result.Results["data"].value.Values[0, RUL_COLUMN], // Since the simulator might replay data, ensure we can overwrite table values ETag = "*" }; // We don't need a data model to represent the result of this operation, // so we use a stub table/model convertor await AzureTableStorageHelper.DoTableInsertOrReplaceAsync <object, RulTableEntity>(entry, (RulTableEntity e) => null, _configurationProvider.GetConfigurationSettingValue("eventHub.StorageConnectionString"), _configurationProvider.GetConfigurationSettingValue("MLResultTableName")); } else { throw new Exception(string.Format("The ML request failed with status code: {0}", response.StatusCode)); } }
public DeviceRegistryRepository(IConfigurationProvider configProvider, IDocDbRestUtility docDbRestUtil) { if (configProvider == null) { throw new ArgumentNullException("configProvider"); } _endpointUri = configProvider.GetConfigurationSettingValue("docdb.EndpointUrl"); _authorizationKey = configProvider.GetConfigurationSettingValue("docdb.PrimaryAuthorizationKey"); _databaseId = configProvider.GetConfigurationSettingValue("docdb.DatabaseId"); _documentCollectionName = configProvider.GetConfigurationSettingValue("docdb.DocumentCollectionId"); _docDbRestUtil = docDbRestUtil; Task.Run(() => _docDbRestUtil.InitializeDatabase()).Wait(); Task.Run(() => _docDbRestUtil.InitializeCollection()).Wait(); }
public IotHubRepository(IConfigurationProvider configProvider) { // Temporary code to bypass https cert validation till DNS on IotHub is configured ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true; _iotHubConnectionString = configProvider.GetConfigurationSettingValue("iotHub.ConnectionString"); _deviceManager = RegistryManager.CreateFromConnectionString(_iotHubConnectionString); }
public MLDataProcessor(IConfigurationProvider configurationProvider) { _configurationProvider = configurationProvider; var analyticsType = (AnalyticsTypes)Enum.Parse(typeof(AnalyticsTypes), _configurationProvider.GetConfigurationSettingValue("AnalyticsType")); _mlServiceInvoker = AnalyticsServiceInvokerFactory.CreateMLServerInvoker(analyticsType, configurationProvider); Trace.TraceInformation($"Created ML service invoker of type: {_mlServiceInvoker.GetType().Name}"); }
public DeviceController(IDeviceLogic deviceLogic, IDeviceTypeLogic deviceTypeLogic, IConfigurationProvider configProvider, IApiRegistrationRepository apiRegistrationRepository, ICellularExtensions cellularExtensions) { _deviceLogic = deviceLogic; _deviceTypeLogic = deviceTypeLogic; _apiRegistrationRepository = apiRegistrationRepository; _cellularExtensions = cellularExtensions; _iotHubName = configProvider.GetConfigurationSettingValue("iotHub.HostName"); }
public UserSettingsRepository(IConfigurationProvider configProvider, AzureTableStorageClientFactory tableStorageClientFactory) { _storageAccountConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); _azureTableStorageClient = tableStorageClientFactory.CreateClient(_storageAccountConnectionString, _settingsTableName); }
public ActionMappingRepository(IConfigurationProvider configurationProvider) { _connectionString = configurationProvider.GetConfigurationSettingValue("device.StorageConnectionString"); _containerName = configurationProvider.GetConfigurationSettingValue("ActionMappingStoreContainerName"); _blobName = configurationProvider.GetConfigurationSettingValue("ActionMappingStoreBlobName"); }
public ApiRegistrationRepository(IConfigurationProvider configProvider, IAzureTableStorageClientFactory tableStorageClientFactory) { _azureTableStorageClient = tableStorageClientFactory.CreateClient(configProvider.GetConfigurationSettingValue("device.StorageConnectionString"), API_TABLE_NAME); }
public UserSettingsRepository(IConfigurationProvider configProvider) { _storageAccountConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); }
public DeviceController(IDeviceLogic deviceLogic, IDeviceTypeLogic deviceTypeLogic, IConfigurationProvider configProvider) { _deviceLogic = deviceLogic; _deviceTypeLogic = deviceTypeLogic; this.iotHubName = configProvider.GetConfigurationSettingValue("iotHub.HostName"); }
public VirtualDeviceTableStorage(IConfigurationProvider configProvider) { _storageConnectionString = configProvider.GetConfigurationSettingValue("device.StorageConnectionString"); _deviceTableName = configProvider.GetConfigurationSettingValue("device.TableName"); }
public AppConfigRepository(IConfigurationProvider configProvider, ILogger logger) { _devices = new List<InitialDeviceConfig>(); _hostName = configProvider.GetConfigurationSettingValue("iotHub.HostName"); _logger = logger; }
public ApiRegistrationRepository(IConfigurationProvider configProvider) { _table = AzureTableStorageHelper.GetTable( configProvider.GetConfigurationSettingValue("device.StorageConnectionString"), API_TABLE_NAME); }