Azure Event Hubs
Synopsis
Creates a target that sends processed messages to Azure Event Hubs with support for multiple authentication methods, batch processing, and automatic retry mechanisms. Provides high-throughput event streaming to Azure Event Hubs for real-time analytics and downstream processing.
Schema
- name: <string>
description: <string>
type: eventhubs
pipelines: <pipeline[]>
status: <boolean>
properties:
client_connection_string: <string>
tenant_id: <string>
client_id: <string>
client_secret: <string>
namespace: <string>
event_hub: <string>
partition:
id: <string>
key: <string>
field_format: <string>
max_bytes: <numeric>
max_events: <numeric>
tls:
status: <boolean>
cert_name: <string>
key_name: <string>
insecure_skip_verify: <boolean>
interval: <string|numeric>
cron: <string>
debug:
status: <boolean>
dont_send_logs: <boolean>
Configuration
The following fields are used to define the target:
| Field | Required | Default | Description |
|---|---|---|---|
name | Y | Target name | |
description | N | - | Optional description |
type | Y | Must be eventhubs | |
pipelines | N | - | Optional post-processor pipelines |
status | N | true | Enable/disable the target |
Connection
EventHubs target supports two authentication methods:
Method 1: Connection String Authentication
| Field | Required | Default | Description |
|---|---|---|---|
client_connection_string | Y* | Event Hubs connection string (required if not using method 2) | |
event_hub | Y | Event hub name to send messages to |
Method 2: Service Principal Authentication
| Field | Required | Default | Description |
|---|---|---|---|
tenant_id | Y* | Azure tenant ID (required if not using connection string) | |
client_id | Y* | Azure service principal client ID | |
client_secret | Y* | Azure service principal client secret | |
namespace | Y* | Event Hubs namespace (required if not using connection string) | |
event_hub | Y | Event hub name to send messages to |
* = Conditionally required (see authentication methods above)
Partition Configuration
| Field | Required | Default | Description |
|---|---|---|---|
partition.id | N* | - | Specific partition ID to send messages to |
partition.key | N* | - | Partition key for message routing |
* = Mutually exclusive - use either partition.id OR partition.key, not both
Message Configuration
| Field | Required | Default | Description |
|---|---|---|---|
field_format | N | - | Data normalization format. See applicable Normalization section |
Performance
| Field | Required | Default | Description |
|---|---|---|---|
max_bytes | N | 0 | Maximum batch size in bytes (0 for unlimited) |
max_events | N | 1000 | Maximum number of events per batch |
TLS
| Field | Required | Default | Description |
|---|---|---|---|
tls.status | N | false | Enable TLS encryption |
tls.cert_name | N* | - | TLS certificate file path (required if TLS enabled) |
tls.key_name | N* | - | TLS private key file path (required if TLS enabled) |
tls.insecure_skip_verify | N | false | Skip TLS certificate verification (NOT recommended for production) |
* = Conditionally required (only when tls.status: true)
TLS certificate and key files must be placed in the service root directory.
Setting insecure_skip_verify: true disables certificate validation and should only be used for testing/development environments.
Scheduler
| Field | Required | Default | Description |
|---|---|---|---|
interval | N | realtime | Execution frequency. See Interval for details |
cron | N | - | Cron expression for scheduled execution. See Cron for details |
Debug Options
| Field | Required | Default | Description |
|---|---|---|---|
debug.status | N | false | Enable debug logging |
debug.dont_send_logs | N | false | Process logs but don't send to target (testing) |
Details
The EventHubs target sends processed messages to Azure Event Hubs for real-time event streaming and analytics. It supports automatic batching for optimal performance and multiple authentication methods for flexible deployment scenarios.
Messages are sent with automatic partition distribution unless a specific partition ID or key is provided. The target handles connection pooling and automatic reconnection on network failures.
Partition Management
You can control message routing to Event Hubs partitions using two mutually exclusive options:
partition.id: Routes all messages to a specific partition by ID (0-based index)partition.key: Uses a partition key for consistent hashing across partitions
If neither is specified, Event Hubs automatically distributes messages across available partitions using round-robin distribution.
Examples
The following are commonly used configuration types.
Basic with Connection String
Creating a basic EventHubs target with connection string... | |
Target sends messages to Event Hubs in batches... | |
Service Principal Authentication
Using service principal authentication for secure access... | |
High-Throughput Configuration
Optimizing for high-volume message sending... | |
Partition Key Configuration
Using partition key for consistent message routing... | |
Partition ID Configuration
Sending all messages to a specific partition... | |
Secure Connection with TLS
Implementing TLS encryption for secure transmission... | |
Pipeline Processing
Applying post-processing pipelines before sending... | |