public EventHubListener(ITriggeredFunctionExecutor executor, EventProcessorHost eventListener, bool single, EventHubConfiguration config) { this._executor = executor; this._eventListener = eventListener; this._singleDispatch = single; this._options = config.GetOptions(); this._config = config; }
public EventHubListener(ITriggeredFunctionExecutor executor, EventProcessorHost eventListener, bool single, EventHubConfiguration config, ILogger logger) { _executor = executor; _eventListener = eventListener; _singleDispatch = single; _options = config.GetOptions(); _config = config; _logger = logger; }
public Task <ITriggerBinding> TryCreateAsync(TriggerBindingProviderContext context) { if (context == null) { throw new ArgumentNullException("context"); } ParameterInfo parameter = context.Parameter; EventHubTriggerAttribute attribute = parameter.GetCustomAttribute <EventHubTriggerAttribute>(inherit: false); if (attribute == null) { return(Task.FromResult <ITriggerBinding>(null)); } string resolvedEventHubName = _nameResolver.ResolveWholeString(attribute.EventHubName); string consumerGroup = attribute.ConsumerGroup ?? EventHubConsumerGroup.DefaultGroupName; string resolvedConsumerGroup = _nameResolver.ResolveWholeString(consumerGroup); if (!string.IsNullOrWhiteSpace(attribute.Connection)) { _eventHubConfig.AddReceiver(resolvedEventHubName, _nameResolver.Resolve(attribute.Connection)); } var eventHostListener = _eventHubConfig.GetEventProcessorHost(resolvedEventHubName, resolvedConsumerGroup); var options = _eventHubConfig.GetOptions(); Func <ListenerFactoryContext, bool, Task <IListener> > createListener = (factoryContext, singleDispatch) => { IListener listener = new EventHubListener(factoryContext.Executor, eventHostListener, options, singleDispatch); return(Task.FromResult(listener)); }; ITriggerBinding binding = BindingFactory.GetTriggerBinding(new EventHubTriggerBindingStrategy(), parameter, _converterManager, createListener); return(Task.FromResult <ITriggerBinding>(binding)); }