Ejemplo n.º 1
0
        void IExtensionConfigProvider.Initialize(ExtensionConfigContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            _defaultStorageString = context.Config.StorageConnectionString;

            // get the services we need to construct our binding providers
            INameResolver      nameResolver = context.Config.NameResolver;
            IExtensionRegistry extensions   = context.Config.GetService <IExtensionRegistry>();

            IConverterManager cm = context.Config.GetService <IConverterManager>();

            cm.AddConverter <string, EventData>(ConvertString2EventData);
            cm.AddConverter <EventData, string>(ConvertEventData2String);
            cm.AddConverter <byte[], EventData>(ConvertBytes2EventData); // direct, handles non-string representations
            cm.AddConverter <EventData, byte[]>(ConvertEventData2Bytes); // direct, handles non-string representations

            var bf = new BindingFactory(nameResolver, cm);

            // register our trigger binding provider
            var triggerBindingProvider = new EventHubTriggerAttributeBindingProvider(nameResolver, cm, this);

            extensions.RegisterExtension <ITriggerBindingProvider>(triggerBindingProvider);

            // register our binding provider
            var ruleOutput = bf.BindToAsyncCollector <EventHubAttribute, EventData>(BuildFromAttribute);

            extensions.RegisterBindingRules <EventHubAttribute>(ruleOutput);
        }
Ejemplo n.º 2
0
        void IExtensionConfigProvider.Initialize(ExtensionConfigContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            // apply at eventProcessorOptions level (maxBatchSize, prefetchCount)
            context.ApplyConfig(_options, "eventHub");

            // apply at config level (batchCheckpointFrequency)
            context.ApplyConfig(this, "eventHub");

            _defaultStorageString = context.Config.StorageConnectionString;

            context
            .AddConverter <string, EventData>(ConvertString2EventData)
            .AddConverter <EventData, string>(ConvertEventData2String)
            .AddConverter <byte[], EventData>(ConvertBytes2EventData)
            .AddConverter <EventData, byte[]>(ConvertEventData2Bytes)
            .AddOpenConverter <OpenType.Poco, EventData>(ConvertPocoToEventData);

            // register our trigger binding provider
            INameResolver     nameResolver = context.Config.NameResolver;
            IConverterManager cm           = context.Config.GetService <IConverterManager>();
            var triggerBindingProvider     = new EventHubTriggerAttributeBindingProvider(nameResolver, cm, this, context.Config.LoggerFactory);

            context.AddBindingRule <EventHubTriggerAttribute>()
            .BindToTrigger(triggerBindingProvider);

            // register our binding provider
            context.AddBindingRule <EventHubAttribute>()
            .BindToCollector(BuildFromAttribute);
        }
Ejemplo n.º 3
0
        void IExtensionConfigProvider.Initialize(ExtensionConfigContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            _defaultStorageString = context.Config.StorageConnectionString;

            context
            .AddConverter <string, EventData>(ConvertString2EventData)
            .AddConverter <EventData, string>(ConvertEventData2String)
            .AddConverter <byte[], EventData>(ConvertBytes2EventData)
            .AddConverter <EventData, byte[]>(ConvertEventData2Bytes);

            // register our trigger binding provider
            INameResolver     nameResolver = context.Config.NameResolver;
            IConverterManager cm           = context.Config.GetService <IConverterManager>();
            var triggerBindingProvider     = new EventHubTriggerAttributeBindingProvider(nameResolver, cm, this);

            context.AddBindingRule <EventHubTriggerAttribute>()
            .BindToTrigger(triggerBindingProvider);

            // register our binding provider
            context.AddBindingRule <EventHubAttribute>()
            .BindToCollector(BuildFromAttribute);
        }
        void IExtensionConfigProvider.Initialize(ExtensionConfigContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            // Deferred list
            foreach (var action in _deferredWork)
            {
                action(context.Config);
            }
            _deferredWork.Clear();

            // get the services we need to construct our binding providers
            INameResolver      nameResolver = context.Config.NameResolver;
            IExtensionRegistry extensions   = context.Config.GetService <IExtensionRegistry>();

            IConverterManager cm = context.Config.GetService <IConverterManager>();

            cm.AddConverter <string, EventData>(ConvertString2EventData);
            cm.AddConverter <EventData, string>(ConvertEventData2String);
            cm.AddConverter <byte[], EventData>(ConvertBytes2EventData); // direct, handles non-string representations

            // register our trigger binding provider
            var triggerBindingProvider = new EventHubTriggerAttributeBindingProvider(nameResolver, cm, this);

            extensions.RegisterExtension <ITriggerBindingProvider>(triggerBindingProvider);

            // register our binding provider
            var bindingProvider = new EventHubAttributeBindingProvider(nameResolver, cm, this);

            extensions.RegisterExtension <IBindingProvider>(bindingProvider);
        }
        void IExtensionConfigProvider.Initialize(ExtensionConfigContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            // Deferred list
            foreach (var action in _deferredWork)
            {
                action(context.Config);
            }
            _deferredWork.Clear();

            // get the services we need to construct our binding providers
            INameResolver nameResolver = context.Config.NameResolver;
            IExtensionRegistry extensions = context.Config.GetService<IExtensionRegistry>();

            IConverterManager cm = context.Config.GetService<IConverterManager>();
            cm.AddConverter<string, EventData>(ConvertString2EventData);
            cm.AddConverter<EventData, string>(ConvertEventData2String);
            cm.AddConverter<byte[], EventData>(ConvertBytes2EventData); // direct, handles non-string representations

            var bf = new BindingFactory(nameResolver, cm);

            // register our trigger binding provider
            var triggerBindingProvider = new EventHubTriggerAttributeBindingProvider(nameResolver, cm, this);
            extensions.RegisterExtension<ITriggerBindingProvider>(triggerBindingProvider);

            // register our binding provider
            var ruleOutput = bf.BindToAsyncCollector<EventHubAttribute, EventData>(BuildFromAttribute);
            extensions.RegisterBindingRules<EventHubAttribute>(ruleOutput);
        }