Amazon Lambda · Arazzo Workflow

Amazon Lambda Provision Event Source Mapping

Version 1.0.0

Create an event source mapping and poll it until it reaches the Enabled state.

1 workflow 1 source API 1 provider
View Spec View on GitHub ComputeEvent-DrivenFunction-as-a-ServiceFunctionsServerlessArazzoWorkflows

Provider

amazon-lambda

Workflows

provision-event-source-mapping
Create an event source mapping and wait until it is Enabled.
Creates a mapping between an event source and a Lambda function, then polls GetEventSourceMapping using the returned UUID until the State reported by Lambda is Enabled.
2 steps inputs: BatchSize, Enabled, EventSourceArn, FunctionName outputs: functionArn, state, uuid
1
createMapping
Create the event source mapping. Lambda returns the generated UUID and the initial State, usually Creating.
2
waitForEnabled
Poll the mapping by UUID until Lambda finishes provisioning it and reports the Enabled state.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Lambda Provision Event Source Mapping
  summary: Create an event source mapping and poll it until it reaches the Enabled state.
  description: >-
    Wires an event source — such as an SQS queue, Kinesis stream, or DynamoDB
    stream — to a Lambda function. The workflow creates the mapping, captures the
    generated UUID, and polls GetEventSourceMapping until the mapping leaves the
    Creating and Enabling states and reports Enabled. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: eventSourceMappingsApi
  url: ../openapi/amazon-lambda-event-source-mappings-api-openapi.yml
  type: openapi
workflows:
- workflowId: provision-event-source-mapping
  summary: Create an event source mapping and wait until it is Enabled.
  description: >-
    Creates a mapping between an event source and a Lambda function, then polls
    GetEventSourceMapping using the returned UUID until the State reported by
    Lambda is Enabled.
  inputs:
    type: object
    required:
    - EventSourceArn
    - FunctionName
    properties:
      EventSourceArn:
        type: string
        description: The ARN of the event source (e.g. an SQS queue or Kinesis stream).
      FunctionName:
        type: string
        description: The name or ARN of the Lambda function to invoke.
      BatchSize:
        type: integer
        description: The maximum number of records in each batch.
      Enabled:
        type: boolean
        description: Whether the mapping should be enabled when created.
  steps:
  - stepId: createMapping
    description: >-
      Create the event source mapping. Lambda returns the generated UUID and the
      initial State, usually Creating.
    operationId: CreateEventSourceMapping
    requestBody:
      contentType: application/json
      payload:
        EventSourceArn: $inputs.EventSourceArn
        FunctionName: $inputs.FunctionName
        BatchSize: $inputs.BatchSize
        Enabled: $inputs.Enabled
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      uuid: $response.body#/UUID
      initialState: $response.body#/State
  - stepId: waitForEnabled
    description: >-
      Poll the mapping by UUID until Lambda finishes provisioning it and reports
      the Enabled state.
    operationId: GetEventSourceMapping
    parameters:
    - name: UUID
      in: path
      value: $steps.createMapping.outputs.uuid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      state: $response.body#/State
      functionArn: $response.body#/FunctionArn
    onSuccess:
    - name: mappingEnabled
      type: end
      criteria:
      - context: $response.body
        condition: $.State == "Enabled"
        type: jsonpath
    onFailure:
    - name: retryGet
      type: retry
      retryAfter: 5
      retryLimit: 20
      stepId: waitForEnabled
  outputs:
    uuid: $steps.createMapping.outputs.uuid
    state: $steps.waitForEnabled.outputs.state
    functionArn: $steps.waitForEnabled.outputs.functionArn

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/amazon-lambda-provision-event-source-mapping-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.