Skip to main content

API Gateway V2 to EventBridge

An example that integrates API Gateway, EventBridge, and Lambda.

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set aws-py-apigatewayv2-eventbridge
cd pulumi-examples/aws-py-apigatewayv2-eventbridge

This example creates an AWS API Gateway proxy integration with EventBridge and Lambda. It defines a single API Gateway endpoint that publishes events to an EventBridge event bus and an accompanying event rule that matches those events and invokes a Lambda function.

Prerequisites#

  1. Install Pulumi
  2. Configure AWS credentials
  3. Install Python

Deploying the example#

  1. Create a new stack:

    Terminal window
    pulumi stack init dev
  2. Set the AWS region to deploy into:

    Terminal window
    pulumi config set aws:region us-west-2
  3. Install dependencies:

    Terminal window
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  4. Deploy the stack:

    Terminal window
    pulumi up
  5. In a few moments, the API Gateway instance will be up and running and its public URL emitted as a Pulumi stack output:

    Outputs:
    url: "https://andchh8hg8.execute-api.us-west-2.amazonaws.com/dev"
  6. Verify the deployment with curl and pulumi logs:

    Terminal window
    curl --data '{"some-key": "some-value"}' --header "Content-Type: application/json" "$(pulumi stack output url)/uploads"
    {"Entries":[{"EventId":"cdc44763-6976-286c-9378-7cce674dff81"}],"FailedEntryCount":0}
    Terminal window
    pulumi logs --follow
    Collecting logs for stack dev since 2022-01-06T16:18:48.000-08:00.
    ...
    {
    source: 'my-event-source',
    detail: { 'some-key': 'some-value' }
    }

Cleaning up#

Once you’re finished experimenting, destroy your stack and remove it to avoid incurring any additional cost:

Terminal window
pulumi destroy
pulumi stack rm

Related

The infrastructure as code platform for any cloud.