azure-eventhub-rust

Azure Event Hubs SDK for Rust

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "azure-eventhub-rust" with this command: npx skills add claudedjale/skillset/claudedjale-skillset-azure-eventhub-rust

Azure Event Hubs SDK for Rust

Client library for Azure Event Hubs — big data streaming platform and event ingestion service.

Installation

cargo add azure_messaging_eventhubs azure_identity

Environment Variables

EVENTHUBS_HOST=<namespace>.servicebus.windows.net EVENTHUB_NAME=<eventhub-name>

Key Concepts

  • Namespace — container for Event Hubs

  • Event Hub — stream of events partitioned for parallel processing

  • Partition — ordered sequence of events

  • Producer — sends events to Event Hub

  • Consumer — receives events from partitions

Producer Client

Create Producer

use azure_identity::DeveloperToolsCredential; use azure_messaging_eventhubs::ProducerClient;

let credential = DeveloperToolsCredential::new(None)?; let producer = ProducerClient::builder() .open("<namespace>.servicebus.windows.net", "eventhub-name", credential.clone()) .await?;

Send Single Event

producer.send_event(vec![1, 2, 3, 4], None).await?;

Send Batch

let batch = producer.create_batch(None).await?; batch.try_add_event_data(b"event 1".to_vec(), None)?; batch.try_add_event_data(b"event 2".to_vec(), None)?;

producer.send_batch(batch, None).await?;

Consumer Client

Create Consumer

use azure_messaging_eventhubs::ConsumerClient;

let credential = DeveloperToolsCredential::new(None)?; let consumer = ConsumerClient::builder() .open("<namespace>.servicebus.windows.net", "eventhub-name", credential.clone()) .await?;

Receive Events

// Open receiver for specific partition let receiver = consumer.open_partition_receiver("0", None).await?;

// Receive events let events = receiver.receive_events(100, None).await?; for event in events { println!("Event data: {:?}", event.body()); }

Get Event Hub Properties

let properties = consumer.get_eventhub_properties(None).await?; println!("Partitions: {:?}", properties.partition_ids);

Get Partition Properties

let partition_props = consumer.get_partition_properties("0", None).await?; println!("Last sequence number: {}", partition_props.last_enqueued_sequence_number);

Best Practices

  • Reuse clients — create once, send many events

  • Use batches — more efficient than individual sends

  • Check batch capacity — try_add_event_data returns false when full

  • Process partitions in parallel — each partition can be consumed independently

  • Use consumer groups — isolate different consuming applications

  • Handle checkpointing — use azure_messaging_eventhubs_checkpointstore_blob for distributed consumers

Checkpoint Store (Optional)

For distributed consumers with checkpointing:

cargo add azure_messaging_eventhubs_checkpointstore_blob

Reference Links

Resource Link

API Reference https://docs.rs/azure_messaging_eventhubs

Source Code https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/eventhubs/azure_messaging_eventhubs

crates.io https://crates.io/crates/azure_messaging_eventhubs

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

azure-observability

No summary provided by upstream source.

Repository SourceNeeds Review
General

azure-appconfiguration-java

No summary provided by upstream source.

Repository SourceNeeds Review
General

wiki-architect

No summary provided by upstream source.

Repository SourceNeeds Review
General

azure-ai-formrecognizer-java

No summary provided by upstream source.

Repository SourceNeeds Review