public Config(IConfigData configData)
 {
     this.Port              = configData.GetInt(PORT_KEY);
     this.LoggingConfig     = GetLogConfig(configData);
     this.ServicesConfig    = GetServicesConfig(configData);
     this.ClientAuthConfig  = GetClientAuthConfig(configData);
     this.BlobStorageConfig = GetBlobStorageConfig(configData);
 }
 public RedisStorageHelper(
     IBlobStorageConfig blobStorageConfig,
     ICloudStorageWrapper cloudStorageWrapper,
     ILogger logger)
 {
     this.logger              = logger;
     this.blobStorageConfig   = blobStorageConfig;
     this.cloudStorageWrapper = cloudStorageWrapper;
     this.isInitialized       = false;
 }
 public DeviceGroupsWriter(
     IBlobStorageConfig blobStorageConfig,
     IBlobStorageHelper blobStorageHelper,
     IFileWrapper fileWrapper,
     ILogger logger)
 {
     this.blobStorageConfig = blobStorageConfig;
     this.logger            = logger;
     this.blobStorageHelper = blobStorageHelper;
     this.fileWrapper       = fileWrapper;
 }
예제 #4
0
 public Agent(
     IDeviceGroupsWriter deviceGroupsWriter,
     IDeviceGroupsClient deviceGroupsClient,
     IEventProcessorHostWrapper eventProcessorHostWrapper,
     IEventProcessorFactory deviceEventProcessorFactory,
     IEventHubStatus eventHubStatus,
     IServicesConfig servicesConfig,
     IBlobStorageConfig blobStorageConfig,
     ILogger logger,
     IThreadWrapper thread)
 {
     this.log = logger;
     this.deviceGroupsWriter          = deviceGroupsWriter;
     this.deviceGroupsClient          = deviceGroupsClient;
     this.eventProcessorHostWrapper   = eventProcessorHostWrapper;
     this.deviceEventProcessorFactory = deviceEventProcessorFactory;
     this.eventHubStatus    = eventHubStatus;
     this.servicesConfig    = servicesConfig;
     this.blobStorageConfig = blobStorageConfig;
     this.deviceGroupDefinitionDictionary = new Dictionary <string, string>();
     this.thread = thread;
 }
        public Config(IConfigData configData)
        {
            this.Port = configData.GetInt(PORT_KEY);

            this.ServicesConfig = new ServicesConfig
            {
                MessagesConfig = new StorageConfig(
                    configData.GetString(MESSAGES_DB_DATABASE_KEY),
                    configData.GetString(MESSAGES_DB_COLLECTION_KEY)),
                AlarmsConfig = new AlarmsConfig(
                    configData.GetString(ALARMS_DB_DATABASE_KEY),
                    configData.GetString(ALARMS_DB_COLLECTION_KEY),
                    configData.GetInt(ALARMS_DB_MAX_DELETE_RETRIES)),
                StorageType                     = configData.GetString(MESSAGES_STORAGE_TYPE),
                CosmosDbConnString              = configData.GetString(COSMOSDB_CONNSTRING_KEY),
                CosmosDbThroughput              = configData.GetInt(COSMOSDB_RUS_KEY),
                StorageAdapterApiUrl            = configData.GetString(STORAGE_ADAPTER_API_URL_KEY),
                StorageAdapterApiTimeout        = configData.GetInt(STORAGE_ADAPTER_API_TIMEOUT_KEY),
                UserManagementApiUrl            = configData.GetString(USER_MANAGEMENT_URL_KEY),
                TimeSeriesFqdn                  = configData.GetString(TIME_SERIES_FQDN),
                TimeSeriesAuthority             = configData.GetString(TIME_SERIES_AUTHORITY),
                TimeSeriesAudience              = configData.GetString(TIME_SERIES_AUDIENCE),
                TimeSeriesExplorerUrl           = configData.GetString(TIME_SERIES_EXPLORER_URL),
                TimeSertiesApiVersion           = configData.GetString(TIME_SERIES_API_VERSION),
                TimeSeriesTimeout               = configData.GetString(TIME_SERIES_TIMEOUT),
                ActiveDirectoryTenant           = configData.GetString(AAD_TENANT),
                ActiveDirectoryAppId            = configData.GetString(AAD_APP_ID),
                ActiveDirectoryAppSecret        = configData.GetString(AAD_APP_SECRET),
                DiagnosticsApiUrl               = configData.GetString(DIAGNOSTICS_URL_KEY),
                DiagnosticsMaxLogRetries        = configData.GetInt(DIAGNOSTICS_MAX_LOG_RETRIES),
                ActionsEventHubConnectionString = configData.GetString(ACTIONS_EVENTHUB_CONNSTRING),
                ActionsEventHubName             = configData.GetString(ACTIONS_EVENTHUB_NAME),
                LogicAppEndpointUrl             = configData.GetString(ACTIONS_LOGICAPP_ENDPOINTURL),
                BlobStorageConnectionString     = configData.GetString(ACTIONS_AZUREBLOB_CONNSTRING),
                ActionsBlobStorageContainer     = configData.GetString(ACTIONS_AZUREBLOB_CONTAINER),
                SolutionUrl                     = configData.GetString(SOLUTION_URL),
                TemplateFolder                  = AppContext.BaseDirectory + Path.DirectorySeparatorChar + configData.GetString(TEMPLATE_FOLDER)
            };

            this.ClientAuthConfig = new ClientAuthConfig
            {
                // By default CORS is disabled
                CorsWhitelist = configData.GetString(CORS_WHITELIST_KEY, string.Empty),
                // By default Auth is required
                AuthRequired = configData.GetBool(AUTH_REQUIRED_KEY, true),
                // By default auth type is JWT
                AuthType = configData.GetString(AUTH_TYPE_KEY, "JWT"),
                // By default the only trusted algorithms are RS256, RS384, RS512
                JwtAllowedAlgos = configData.GetString(JWT_ALGOS_KEY, "RS256,RS384,RS512").Split(','),
                JwtIssuer       = configData.GetString(JWT_ISSUER_KEY, String.Empty),
                JwtAudience     = configData.GetString(JWT_AUDIENCE_KEY, String.Empty),
                // By default the allowed clock skew is 2 minutes
                JwtClockSkew = TimeSpan.FromSeconds(configData.GetInt(JWT_CLOCK_SKEW_KEY, 120)),
            };

            this.BlobStorageConfig = new BlobStorageConfig
            {
                BlobStorageConnectionString               = configData.GetString(TELEMETRY_BLOB_ACCESS_KEY),
                BlobStorageWebUiDirectAccessPolicy        = configData.GetString(TELEMETRY_BLOB_ACCESS_POLICY_KEY),
                BlobStorageWebUiDirectAccessExpiryMinutes = configData.GetInt(TELEMETRY_BLOB_ACCESS_EXPIRY_KEY)
            };
        }