AWS Classic

v5.16.0 published on Saturday, Sep 24, 2022 by Pulumi

API Gateway V2 to EventBridge

View Code

Deploy with Pulumi

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. Install Python.
  3. Configure your AWS credentials.

Deploying the App

  1. Clone this repo, change to this directory, then create a new stack for the project:

    pulumi stack init
    
  2. Specify an AWS region to deploy into:

    pulumi config set aws:region us-west-2
    
  3. Install Python dependencies and run Pulumi:

    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
    pulumi up
    
  4. In a few moments, the API Gateway instance service 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"
    
  5. Verify the deployment with curl and pulumi logs:

    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}
    
    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' }
    }
    
  6. When you’re ready, destroy your stack and remove it:

    pulumi destroy --yes
    pulumi stack rm --yes