public Config(IConfigData configData) { IoTHubConfig = new IoTHubConfig { ConnectionConfig = new ConnectionConfig { HubName = configData.GetString(HubNameKey), HubEndpoint = configData.GetString(HubEndpointKey), AccessConnString = configData.GetString(AccessConnStringKey) }, StreamingConfig = new StreamingConfig { ConsumerGroup = configData.GetString(ConsumerGroupKey), ReceiveBatchSize = configData.GetInt(ReceiveBatchSizeKey), ReceiveTimeout = configData.GetTimeSpan(ReceiveTimeoutKey) }, CheckpointingConfig = new CheckpointingConfig { Frequency = configData.GetTimeSpan(FrequencyKey), CountThreshold = configData.GetInt(CountThresholdKey), TimeThreshold = configData.GetTimeSpan(TimeThresholdKey), StorageConfig = new CheckpointingStorageConfig { BackendType = configData.GetString(BackendTypeKey), Namespace = configData.GetString(NamespaceKey), AzureBlobConfig = new CheckpointingStorageBlobConfig { Protocol = configData.GetString(ProtocolKey), Account = configData.GetString(AccountKey), Key = configData.GetString(KeyKey), EndpointSuffix = configData.GetString(EndpointSuffixKey) } } } }; ServicesConfig = new ServicesConfig { MonitoringRulesUrl = configData.GetString(MonitoringRulesUrlKey), DeviceGroupsUrl = configData.GetString(DeviceGroupsUrlKey), DevicesUrl = configData.GetString(DevicesUrlKey), MessagesStorageServiceConfig = new StorageServiceConfig { StorageType = configData.GetString(MessagesStorageTypeKey), DocumentDbConnString = configData.GetString(MessagesDocDbConnStringKey), DocumentDbDatabase = configData.GetString(MessagesDocDbDatabaseKey), DocumentDbCollection = configData.GetString(MessagesDocDbCollectionKey), DocumentDbRUs = configData.GetInt(MessagesDocDbRUsKey) }, AlarmsStorageServiceConfig = new StorageServiceConfig { StorageType = configData.GetString(AlarmsStorageTypeKey), DocumentDbConnString = configData.GetString(AlarmsDocDbConnStringKey), DocumentDbDatabase = configData.GetString(AlarmsDocDbDatabaseKey), DocumentDbCollection = configData.GetString(AlarmsDocDbCollectionKey), DocumentDbRUs = configData.GetInt(AlarmsDocDbRUsKey) } }; }