Skip to main content

Search the Dev Center

Search tutorials, templates, examples, and more.

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-ts-apigatewayv2-eventbridge
cd pulumi-examples/aws-ts-apigatewayv2-eventbridge

This example creates an API Gateway V2 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 Node.js

Deploying the example#

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

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

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

    Terminal window
    npm install
  4. Deploy the stack:

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

    Terminal window
    ...
    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#

When you’re ready, destroy your stack and remove it:

Terminal window
pulumi destroy
pulumi stack rm

Related

The infrastructure as code platform for any cloud.