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:
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examplesgit -C pulumi-examples sparse-checkout set aws-py-apigatewayv2-eventbridgecd pulumi-examples/aws-py-apigatewayv2-eventbridgeThis 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#
- Install Pulumi.
- Install Python.
- Configure your AWS credentials.
Deploying the App#
-
Clone this repo, change to this directory, then create a new stack for the project:
Terminal window pulumi stack init -
Specify an AWS region to deploy into:
Terminal window pulumi config set aws:region us-west-2 -
Install Python dependencies and run Pulumi:
Terminal window python3 -m venv venvsource venv/bin/activatepip install -r requirements.txtpulumi up -
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" -
Verify the deployment with
curlandpulumi 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 --followCollecting logs for stack dev since 2022-01-06T16:18:48.000-08:00....{source: 'my-event-source',detail: { 'some-key': 'some-value' }} -
When you’re ready, destroy your stack and remove it:
Terminal window pulumi destroy --yespulumi stack rm --yes
