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.
- Install Pulumi.
- Install Python.
- Configure your AWS credentials.
-
Clone this repo, change to this directory, then create a new stack for the project:
pulumi stack init
-
Specify an AWS region to deploy into:
pulumi config set aws:region us-west-2
-
Install Python dependencies and run Pulumi:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt pulumi 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.
... Outputs: url: "https://andchh8hg8.execute-api.us-west-2.amazonaws.com/dev"
-
Verify the deployment with
curl
andpulumi 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' } }
-
When you're ready, destroy your stack and remove it:
pulumi destroy --yes pulumi stack rm --yes