# Eventhub Subscriber

The **EventHub Subscriber** component is designed to consume event data from **Azure Event Hubs**. It creates an **event processor client** that reads and processes event data from EventHub partitions.

This component supports two authentication methods for connecting to EventHub:

* **Connection String**
* **Principal Secret**

It is typically used to ingest real-time streaming event data into pipelines for processing, analytics, or storage.

### Configuration Sections

All component configurations are classified into the following sections:

* **Basic Information**
* **Meta Information**
* **Resource Configuration**

### Basic Information Tab

The *Basic Information* tab defines general execution settings.

| Field                       | Description                                                   | Required |
| --------------------------- | ------------------------------------------------------------- | -------- |
| **Invocation Type**         | Select execution mode: **Batch** or **Real-Time**.            | Yes      |
| **Deployment Type**         | Displays the deployment type of the component (pre-selected). | Yes      |
| **Container Image Version** | Displays the Docker image version used (pre-selected).        | Yes      |
| **Failover Event**          | Select a failover event for error handling.                   | Optional |
| **Batch Size**              | Maximum number of events processed per cycle (minimum: 10).   | Yes      |

### Meta Information Tab

The *Meta Information* tab defines connection details for consuming events from **Azure EventHub**. The configuration differs depending on the chosen authentication method.

#### **Method 1: Read Using Connection String**

| Field                    | Description                                                                             | Required |
| ------------------------ | --------------------------------------------------------------------------------------- | -------- |
| **Connection String**    | Full connection string with parameters to establish a connection to EventHub.           | Yes      |
| **Consumer Group**       | Logical grouping of event consumers that read from the same partition.                  | Yes      |
| **EventHub Name**        | Name of the specific EventHub within the namespace.                                     | Yes      |
| **Checkpoint Location**  | Stores the position in the stream representing the last successfully processed event.   | Yes      |
| **Enqueued Time**        | Timestamp when the event was added to the partition (time of occurrence or generation). | Optional |
| **Subscriber Namespace** | Logical entity for grouping subscribers and managing access within EventHub namespace.  | Yes      |

#### **Method 2: Read Using Principal Secret**

| Field                    | Description                                                                            | Required |
| ------------------------ | -------------------------------------------------------------------------------------- | -------- |
| **Client ID**            | Azure AD application ID registered in Azure portal.                                    | Yes      |
| **Tenant ID**            | ID of the Azure AD tenant that contains the application/service principal.             | Yes      |
| **Client Secret**        | Secret value associated with the Azure AD application for authentication.              | Yes      |
| **Consumer Group**       | Logical grouping of event consumers that read from the same partition.                 | Yes      |
| **EventHub Name**        | Name of the EventHub within the namespace.                                             | Yes      |
| **Checkpoint Location**  | Stores the position in the stream representing the last successfully processed event.  | Yes      |
| **Enqueued Time**        | Timestamp when the event was added to the partition.                                   | Optional |
| **Subscriber Namespace** | Logical entity for grouping subscribers and managing access within EventHub namespace. | Yes      |

### Saving the Configuration

1. Configure either **Connection String** or **Principal Secret** parameters.
2. Click the **Save Component** (Storage icon).
3. A notification confirms successful configuration.
4. Once activated, the EventHub Subscriber begins consuming events from the specified EventHub.

### Example Workflow

1. Configure EventHub Subscriber with **Connection String** authentication.
   * EventHub Name: `iot-events`
   * Consumer Group: `cg-iot-subscribers`
   * Checkpoint Location: `checkpoint/iot-sensor-events`
2. Start the pipeline.
3. Incoming IoT sensor events are read from EventHub and forwarded to downstream analytics components for real-time monitoring.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bdb.ai/bdb-user-documentation/platform-modules/11.0/data-engineering/data-pipelines/pipeline-editor/pipeline-components/consumers/eventhub-subscriber.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
