Azure Event Hubs · Arazzo Workflow

Microsoft Azure Event Hubs Configure Event Hub Capture to Blob Storage

Version 1.0.0

Create an event hub with Avro capture enabled to an Azure Blob container, then read it back to confirm capture is active.

1 workflow 1 source API 1 provider
View Spec View on GitHub Big DataEvent StreamingIoTMessage IngestionReal-Time ProcessingArazzoWorkflows

Provider

microsoft-azure-event-hubs

Workflows

configure-event-hub-capture
Create an event hub with Avro capture to a blob container and verify it.
Creates an event hub with capture enabled to the supplied storage account and container, then reads the event hub to confirm captureDescription.enabled is true.
2 steps inputs: apiVersion, blobContainer, eventHubName, intervalInSeconds, namespaceName, partitionCount, resourceGroupName, sizeLimitInBytes, storageAccountResourceId, subscriptionId outputs: captureEnabled, captureEncoding, eventHubId
1
createEventHubWithCapture
Create the event hub with an Avro capture description that archives events to the supplied storage account and blob container.
2
confirmCapture
Read the event hub back and assert that the capture description reports as enabled.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Azure Event Hubs Configure Event Hub Capture to Blob Storage
  summary: Create an event hub with Avro capture enabled to an Azure Blob container, then read it back to confirm capture is active.
  description: >-
    Enables the Event Hubs Capture feature so events are automatically archived
    to Azure Blob Storage. The flow creates an event hub whose captureDescription
    streams Avro-encoded events into the supplied storage account and blob
    container on a fixed time and size window, then reads the event hub back to
    confirm capture is enabled. Each step inlines the full ARM
    {properties:{captureDescription:{...}}} request so it can be executed
    directly.
  version: 1.0.0
sourceDescriptions:
- name: eventHubsApi
  url: ../openapi/microsoft-azure-event-hubs-event-hubs-api-openapi.yml
  type: openapi
workflows:
- workflowId: configure-event-hub-capture
  summary: Create an event hub with Avro capture to a blob container and verify it.
  description: >-
    Creates an event hub with capture enabled to the supplied storage account and
    container, then reads the event hub to confirm captureDescription.enabled is
    true.
  inputs:
    type: object
    required:
    - subscriptionId
    - resourceGroupName
    - namespaceName
    - eventHubName
    - storageAccountResourceId
    - blobContainer
    properties:
      subscriptionId:
        type: string
        description: Azure subscription identifier that scopes the resource.
      resourceGroupName:
        type: string
        description: Name of the resource group that contains the namespace.
      namespaceName:
        type: string
        description: The existing Event Hubs namespace name.
      eventHubName:
        type: string
        description: The event hub name to create with capture enabled.
      storageAccountResourceId:
        type: string
        description: ARM resource id of the storage account that receives captured blobs.
      blobContainer:
        type: string
        description: Blob container name that receives captured Avro files.
      partitionCount:
        type: integer
        description: Number of partitions for the event hub (1-32).
        default: 4
      intervalInSeconds:
        type: integer
        description: Capture time window in seconds (60-900).
        default: 300
      sizeLimitInBytes:
        type: integer
        description: Capture size window in bytes (10485760-524288000).
        default: 314572800
      apiVersion:
        type: string
        description: Client API version for the management plane.
        default: '2024-01-01'
  steps:
  - stepId: createEventHubWithCapture
    description: >-
      Create the event hub with an Avro capture description that archives events
      to the supplied storage account and blob container.
    operationId: EventHubs_CreateOrUpdate
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: namespaceName
      in: path
      value: $inputs.namespaceName
    - name: eventHubName
      in: path
      value: $inputs.eventHubName
    - name: api-version
      in: query
      value: $inputs.apiVersion
    requestBody:
      contentType: application/json
      payload:
        properties:
          partitionCount: $inputs.partitionCount
          status: Active
          captureDescription:
            enabled: true
            encoding: Avro
            intervalInSeconds: $inputs.intervalInSeconds
            sizeLimitInBytes: $inputs.sizeLimitInBytes
            skipEmptyArchives: true
            destination:
              name: EventHubArchive.AzureBlockBlob
              properties:
                storageAccountResourceId: $inputs.storageAccountResourceId
                blobContainer: $inputs.blobContainer
                archiveNameFormat: "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      eventHubId: $response.body#/id
      captureEnabled: $response.body#/properties/captureDescription/enabled
  - stepId: confirmCapture
    description: >-
      Read the event hub back and assert that the capture description reports as
      enabled.
    operationId: EventHubs_Get
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: namespaceName
      in: path
      value: $inputs.namespaceName
    - name: eventHubName
      in: path
      value: $inputs.eventHubName
    - name: api-version
      in: query
      value: $inputs.apiVersion
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.properties.captureDescription.enabled == true
      type: jsonpath
    outputs:
      captureEnabled: $response.body#/properties/captureDescription/enabled
      captureEncoding: $response.body#/properties/captureDescription/encoding
  outputs:
    eventHubId: $steps.createEventHubWithCapture.outputs.eventHubId
    captureEnabled: $steps.confirmCapture.outputs.captureEnabled
    captureEncoding: $steps.confirmCapture.outputs.captureEncoding

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/microsoft-azure-event-hubs-configure-event-hub-capture-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.