/// <summary> /// Initializes a new instance of the <see cref="PluggableCheckpointStoreEventProcessor{TPartition}"/> class. /// </summary> /// /// <param name="checkpointStore">The provider of checkpoint and ownership data for the processor.</param> /// <param name="eventBatchMaximumCount">The desired number of events to include in a batch to be processed. This size is the maximum count in a batch; the actual count may be smaller, depending on whether events are available in the Event Hub.</param> /// <param name="consumerGroup">The name of the consumer group the processor is associated with. Events are read in the context of this group.</param> /// <param name="connectionString">The connection string to use for connecting to the Event Hubs namespace; it is expected that the Event Hub name and the shared key properties are contained in this connection string.</param> /// <param name="options">The set of options to use for the processor.</param> /// /// <remarks> /// If the connection string is copied from the Event Hubs namespace, it will likely not contain the name of the desired Event Hub, /// which is needed. In this case, the name can be added manually by adding ";EntityPath=[[ EVENT HUB NAME ]]" to the end of the /// connection string. For example, ";EntityPath=telemetry-hub". /// /// If you have defined a shared access policy directly on the Event Hub itself, then copying the connection string from that /// Event Hub will result in a connection string that contains the name. /// </remarks> /// /// <exception cref="ArgumentOutOfRangeException">Occurs when the requested <paramref name="eventBatchMaximumCount"/> is less than 1.</exception> /// /// <seealso href="https://docs.microsoft.com/azure/event-hubs/event-hubs-get-connection-string">How to get an Event Hubs connection string</seealso> /// protected PluggableCheckpointStoreEventProcessor(CheckpointStore checkpointStore, int eventBatchMaximumCount, string consumerGroup, string connectionString, EventProcessorOptions options = default) : base(eventBatchMaximumCount, consumerGroup, connectionString, options) { Argument.AssertNotNull(checkpointStore, nameof(checkpointStore)); _checkpointStore = checkpointStore; }
/// <summary> /// Initializes a new instance of the <see cref="PluggableCheckpointStoreEventProcessor{TPartition}"/> class. /// </summary> /// /// <param name="checkpointStore">The provider of checkpoint and ownership data for the processor.</param> /// <param name="eventBatchMaximumCount">The desired number of events to include in a batch to be processed. This size is the maximum count in a batch; the actual count may be smaller, depending on whether events are available in the Event Hub.</param> /// <param name="consumerGroup">The name of the consumer group the processor is associated with. Events are read in the context of this group.</param> /// <param name="fullyQualifiedNamespace">The fully qualified Event Hubs namespace to connect to. This is likely to be similar to <c>{yournamespace}.servicebus.windows.net</c>.</param> /// <param name="eventHubName">The name of the specific Event Hub to associate the processor with.</param> /// <param name="credential">The Azure managed identity credential to use for authorization. Access controls may be specified by the Event Hubs namespace or the requested Event Hub, depending on Azure configuration.</param> /// <param name="options">The set of options to use for the processor.</param> /// /// <exception cref="ArgumentOutOfRangeException">Occurs when the requested <paramref name="eventBatchMaximumCount"/> is less than 1.</exception> /// protected PluggableCheckpointStoreEventProcessor(CheckpointStore checkpointStore, int eventBatchMaximumCount, string consumerGroup, string fullyQualifiedNamespace, string eventHubName, TokenCredential credential, EventProcessorOptions options = default) : base(eventBatchMaximumCount, consumerGroup, fullyQualifiedNamespace, eventHubName, credential, options) { Argument.AssertNotNull(checkpointStore, nameof(checkpointStore)); _checkpointStore = checkpointStore; }
/// <summary> /// Initializes a new instance of the <see cref="PartitionLoadBalancer" /> class. /// </summary> /// /// <param name="checkpointStore">Responsible for creation of checkpoints and for ownership claim.</param> /// <param name="identifier">The identifier of the EventProcessorClient that owns this load balancer.</param> /// <param name="consumerGroup">The name of the consumer group this load balancer is associated with.</param> /// <param name="fullyQualifiedNamespace">The fully qualified Event Hubs namespace that the processor is associated with.</param> /// <param name="eventHubName">The name of the Event Hub that the processor is associated with.</param> /// <param name="ownershipExpirationInterval">The minimum amount of time for an ownership to be considered expired without further updates.</param> /// <param name="loadBalancingInterval">The minimum amount of time to be elapsed between two load balancing verifications.</param> /// public PartitionLoadBalancer(CheckpointStore checkpointStore, string identifier, string consumerGroup, string fullyQualifiedNamespace, string eventHubName, TimeSpan ownershipExpirationInterval, TimeSpan loadBalancingInterval) { Argument.AssertNotNull(checkpointStore, nameof(checkpointStore)); Argument.AssertNotNullOrEmpty(identifier, nameof(identifier)); Argument.AssertNotNullOrEmpty(consumerGroup, nameof(consumerGroup)); Argument.AssertNotNullOrEmpty(fullyQualifiedNamespace, nameof(fullyQualifiedNamespace)); Argument.AssertNotNullOrEmpty(eventHubName, nameof(eventHubName)); CheckpointStore = checkpointStore; OwnerIdentifier = identifier; FullyQualifiedNamespace = fullyQualifiedNamespace; EventHubName = eventHubName; ConsumerGroup = consumerGroup; OwnershipExpirationInterval = ownershipExpirationInterval; LoadBalanceInterval = loadBalancingInterval; }
/// <summary> /// Initializes a new instance of the <see cref="BlobCheckpointStore" /> class. /// </summary> /// /// <param name="checkpointStore">The implementation to which storage operations will be delegated.</param> /// internal BlobCheckpointStore(CheckpointStore checkpointStore) => _checkpointStoreImplementation = checkpointStore;