public IomtConnectorFunctions(ITelemetryLogger logger, NormalizationExceptionTelemetryProcessor telemetryProcessor)
        {
            _logger = EnsureArg.IsNotNull(logger, nameof(logger));
            _exceptionTelemetryProcessor = EnsureArg.IsNotNull(telemetryProcessor, nameof(telemetryProcessor));

            var expressionRegister = new AssemblyExpressionRegister(typeof(IExpressionRegister).Assembly, _logger);
            var jmesPath           = new JmesPath();

            expressionRegister.RegisterExpressions(jmesPath.FunctionRepository);
            _collectionContentTemplateFactory = new CollectionContentTemplateFactory(
                new JsonPathContentTemplateFactory(),
                new IotJsonPathContentTemplateFactory(),
                new IotCentralJsonPathContentTemplateFactory(),
                new CalculatedFunctionContentTemplateFactory(
                    new TemplateExpressionEvaluatorFactory(jmesPath), _logger));
        }
Beispiel #2
0
        public Processor(
            string templateDefinition,
            ITemplateManager templateManager,
            IEnumerableAsyncCollector <IMeasurement> collector,
            ITelemetryLogger logger,
            CollectionTemplateFactory <IContentTemplate, IContentTemplate> collectionTemplateFactory,
            NormalizationExceptionTelemetryProcessor exceptionTelemetryProcessor)
        {
            _templateDefinition          = EnsureArg.IsNotNullOrWhiteSpace(templateDefinition, nameof(templateDefinition));
            _templateManager             = EnsureArg.IsNotNull(templateManager, nameof(templateManager));
            _collector                   = EnsureArg.IsNotNull(collector, nameof(collector));
            _logger                      = EnsureArg.IsNotNull(logger, nameof(logger));
            _retryPolicy                 = CreateRetryPolicy(logger);
            _collectionTemplateFactory   = EnsureArg.IsNotNull(collectionTemplateFactory, nameof(collectionTemplateFactory));
            _exceptionTelemetryProcessor = EnsureArg.IsNotNull(exceptionTelemetryProcessor, nameof(exceptionTelemetryProcessor));

            EventMetrics.SetConnectorOperation(ConnectorOperation.Normalization);
        }