Azure Event Hubs TypeScript Skill
Build TypeScript event-streaming applications with batching, partition-aware consumers, checkpointing, and Azure identity authentication.
The documentation uses DefaultAzureCredential/Managed Identity and environment variables for namespace, hub, and checkpoint storage configuration; no malware, credential theft, or covert exfiltration is evident. However, examples print event bodies and properties without sensitive-data guidance, RBAC least-privilege advice, data-flow disclosure, confirmation, cost-impact notes, or rollback guidance, so points are deducted.
The skill provides examples for producers, consumers, batching, checkpointing, error handling, and shutdown, and the repository includes CI and test infrastructure. Static evidence also shows inconsistent variable names, some examples that do not guard empty batches, and overstrong exactly-once wording; there is no executable coverage specific to this skill. The score remains within the static-review cap.
The audience and primary scenarios are clear: TypeScript/JavaScript Azure Event Hubs applications for high-throughput ingestion, telemetry, partitioned consumption, and checkpointing. Non-fit boundaries, precise trigger exclusions, network or regional prerequisites, and Chinese-language support are not stated; Azure-service and documentation reachability constraints are also undisclosed, so points are deducted.
The main document has a readable progressive structure covering installation, environment variables, authentication, workflows, and references, with MIT licensing, author metadata, and version 1.0.0. It lacks a skill-specific changelog, explicit maintenance owner/update path, FAQ, dependency version constraints, and systematic troubleshooting; some linked reference targets are not present in the supplied material.
The material addresses common Event Hubs coding tasks and offers directly reusable starting snippets. Static review cannot verify compilation or runtime behavior, and potential empty-batch, naming-consistency, checkpoint-semantics, and exactly-once issues require user review and correction, limiting direct usability and marginal benefit.
Evidence consists of revision-scoped skill and reference files, repository license, CI workflows, and test-harness code. The supplied CI/tests do not demonstrate real execution coverage of this skill, and no third-party execution results or corroborating validation are provided; therefore the static evidence is limited.
- Do not treat “exactly-once processing” as an automatic SDK guarantee; idempotent downstream operations and explicit at-least-once semantics are still required.
- Add production guidance for RBAC least privilege, redaction of sensitive event logs, checkpoint-failure alerting, retry/dead-letter handling, and cost impact.
- Before use, verify the current APIs of @azure/event-hubs and checkpoint-store packages, and review variable names, empty-batch handling, and authentication configuration.
- The skill depends on Azure Event Hubs, Blob Storage, Azure Identity, and network access; mainland-China reachability and regional constraints are not documented.
What it does & when to use it
This skill supports TypeScript developers using the JavaScript Azure Event Hubs SDK. It covers batched event production, partition or partition-key routing, consumer subscriptions, event positions, batch controls, event properties, and error handling. It also shows production checkpointing with Blob Storage and authentication with DefaultAzureCredential or ManagedIdentityCredential. It is one focused TypeScript skill within Microsoft’s MIT-licensed, actively developed skills collection.
Provides installation commands, environment variables, and TypeScript examples; creates EventHubProducerClient and EventHubConsumerClient instances; sends batched events to partitions or partition keys; subscribes to events and errors; starts consumption from earliest, latest, offset, or timestamp positions; stores checkpoints with BlobCheckpointStore; reads Event Hub and partition properties; configures batch size and wait time; accesses event metadata; avoids checkpointing failed processing; and closes clients cleanly.
- A TypeScript developer needs to batch IoT telemetry or other structured events into Azure Event Hubs.
- A team is building a real-time analytics or event-driven pipeline with partitioned consumers.
- An engineer needs Blob Storage checkpoints so production consumers can resume processing progress.
- A developer needs ordering for related events through partition keys or needs to replay from a defined event position.
Pros & cons
- Covers practical production patterns: batching, partitioned consumption, checkpointing, event positions, error handling, and client shutdown.
- Includes both DefaultAzureCredential and ManagedIdentityCredential authentication examples.
- Uses the concrete `@azure/event-hubs` package and provides copyable TypeScript snippets.
- Includes partition metadata, batch tuning, and lag-monitoring guidance.
- Requires Azure Event Hubs and related Azure resources; the source gives no local or offline alternative.
- The source does not identify dedicated test scenarios or results for this individual skill.
- Users must configure Azure namespaces, event hubs, credentials, and Blob Storage for checkpointing.
How to install
Run npm install @azure/event-hubs @azure/identity in the project. For Blob checkpointing, also run npm install @azure/eventhubs-checkpointstore-blob @azure/storage-blob. To install the broader collection, run npx skills add microsoft/skills and select the required skills in the wizard; the README does not document the exact wizard selection for this skill path.
How to use
Place the skill in the selected agent’s skill directory; the README gives .github/skills/ as the GitHub Copilot example. A suitable trigger prompt is: “Build a high-throughput TypeScript Event Hubs producer and partitioned consumer using @azure/event-hubs, DefaultAzureCredential, batched sends, and Blob checkpointing.” Configure EVENTHUB_NAMESPACE and EVENTHUB_NAME, plus the storage account and container variables when checkpointing is used.