Azure Event Hubs · Arazzo Workflow

Microsoft Azure Event Hubs Provision an Authorization Rule and Retrieve Keys

Version 1.0.0

Create a namespace shared access authorization rule with the requested rights, then fetch its connection strings and keys.

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

Provider

microsoft-azure-event-hubs

Workflows

provision-authorization-rule-and-keys
Create a namespace authorization rule and retrieve its keys.
Creates a namespace authorization rule with the supplied rights, verifies the rule, and lists the connection strings and keys for application use.
3 steps inputs: apiVersion, authorizationRuleName, namespaceName, resourceGroupName, rights, subscriptionId outputs: grantedRights, primaryConnectionString, ruleId, secondaryConnectionString
1
createAuthorizationRule
Create or update the namespace authorization rule with the supplied rights.
2
getAuthorizationRule
Read the authorization rule back to confirm the rights were applied before handing out keys.
3
listKeys
List the primary and secondary connection strings and keys for the authorization rule so applications can connect.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Azure Event Hubs Provision an Authorization Rule and Retrieve Keys
  summary: Create a namespace shared access authorization rule with the requested rights, then fetch its connection strings and keys.
  description: >-
    The standard way to mint SAS credentials for an Event Hubs namespace. It
    creates a namespace-level authorization rule with the requested rights
    (Manage, Send, Listen), reads it back to confirm the rights took effect, and
    then lists the primary and secondary connection strings and keys that
    applications use to connect. Each step inlines its ARM request and response
    handling.
  version: 1.0.0
sourceDescriptions:
- name: authorizationRulesApi
  url: ../openapi/microsoft-azure-event-hubs-authorization-rules-api-openapi.yml
  type: openapi
workflows:
- workflowId: provision-authorization-rule-and-keys
  summary: Create a namespace authorization rule and retrieve its keys.
  description: >-
    Creates a namespace authorization rule with the supplied rights, verifies the
    rule, and lists the connection strings and keys for application use.
  inputs:
    type: object
    required:
    - subscriptionId
    - resourceGroupName
    - namespaceName
    - authorizationRuleName
    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.
      authorizationRuleName:
        type: string
        description: The authorization rule (SAS policy) name to create.
      rights:
        type: array
        description: The rights granted to the rule.
        items:
          type: string
          enum:
          - Manage
          - Send
          - Listen
        default:
        - Send
        - Listen
      apiVersion:
        type: string
        description: Client API version for the management plane.
        default: '2024-01-01'
  steps:
  - stepId: createAuthorizationRule
    description: >-
      Create or update the namespace authorization rule with the supplied rights.
    operationId: Namespaces_CreateOrUpdateAuthorizationRule
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: namespaceName
      in: path
      value: $inputs.namespaceName
    - name: authorizationRuleName
      in: path
      value: $inputs.authorizationRuleName
    - name: api-version
      in: query
      value: $inputs.apiVersion
    requestBody:
      contentType: application/json
      payload:
        properties:
          rights: $inputs.rights
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      ruleId: $response.body#/id
      grantedRights: $response.body#/properties/rights
  - stepId: getAuthorizationRule
    description: >-
      Read the authorization rule back to confirm the rights were applied before
      handing out keys.
    operationId: Namespaces_GetAuthorizationRule
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: namespaceName
      in: path
      value: $inputs.namespaceName
    - name: authorizationRuleName
      in: path
      value: $inputs.authorizationRuleName
    - name: api-version
      in: query
      value: $inputs.apiVersion
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      grantedRights: $response.body#/properties/rights
  - stepId: listKeys
    description: >-
      List the primary and secondary connection strings and keys for the
      authorization rule so applications can connect.
    operationId: Namespaces_ListKeys
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: namespaceName
      in: path
      value: $inputs.namespaceName
    - name: authorizationRuleName
      in: path
      value: $inputs.authorizationRuleName
    - name: api-version
      in: query
      value: $inputs.apiVersion
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      primaryConnectionString: $response.body#/primaryConnectionString
      secondaryConnectionString: $response.body#/secondaryConnectionString
      keyName: $response.body#/keyName
  outputs:
    ruleId: $steps.createAuthorizationRule.outputs.ruleId
    grantedRights: $steps.getAuthorizationRule.outputs.grantedRights
    primaryConnectionString: $steps.listKeys.outputs.primaryConnectionString
    secondaryConnectionString: $steps.listKeys.outputs.secondaryConnectionString

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-provision-authorization-rule-and-keys-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.