Try AWS Native preview for resources not in the classic version.
Lambda-backed REST API
Try AWS Native preview for resources not in the classic version.
A simple API demonstrating an integration between AWS API Gateway (REST) and AWS Lambda.
Deploying and running the program
This example provides API endpoints which are executed by lambda using TypeScript and AWS.
This sample uses the following AWS products:
- Amazon API Gateway is used as an API proxy
 - AWS Lambda is used to process API events by executing typescript/javascript code
 
Prerequisites
Create a new stack:
$ pulumi stack init aws-ts-apigateway-lambda-serverlessSet the AWS region:
$ pulumi config set aws:region us-east-2Install NPM modules via
npm installoryarn install.
Deploy the App
- Run 
pulumi upto preview and deploy changes: 
`Updating (aws-ts-apigateway-lambda-serverless)
View Live: https://app.pulumi.com/***/aws-ts-apigateway-lambda-serverless/aws-ts-apigateway-lambda-serverless/updates/1
    Type                                Name                                                                     Status
+   pulumi:pulumi:Stack                 aws-ts-apigateway-lambda-serverless-aws-ts-apigateway-lambda-serverless  created
+   └─ aws:apigateway:x:API             hello-world                                                              created
+      ├─ aws:iam:Role                  hello-world40ecbb97                                                      created
+      ├─ aws:iam:Policy                hello-world2bb21f83-LambdaFullAccess                                     created
+      ├─ aws:iam:Role                  hello-world2bb21f83                                                      created
+      ├─ aws:iam:Role                  hello-world4fcc7b60                                                      created
+      ├─ aws:iam:Policy                hello-world40ecbb97-LambdaFullAccess                                     created
+      ├─ aws:iam:Policy                hello-world4fcc7b60-LambdaFullAccess                                     created
+      ├─ aws:lambda:Function           hello-world40ecbb97                                                      created
+      ├─ aws:lambda:Function           hello-world2bb21f83                                                      created
+      ├─ aws:iam:RolePolicyAttachment  hello-world2bb21f83-lambdaFullAccessCopyAttachment                       created
+      ├─ aws:iam:RolePolicyAttachment  hello-world40ecbb97-lambdaFullAccessCopyAttachment                       created
+      ├─ aws:lambda:Function           hello-world4fcc7b60                                                      created
+      ├─ aws:iam:RolePolicyAttachment  hello-world4fcc7b60-lambdaFullAccessCopyAttachment                       created
+      ├─ aws:apigateway:RestApi        hello-world                                                              created
+      ├─ aws:apigateway:Deployment     hello-world                                                              created
+      ├─ aws:lambda:Permission         hello-world-29d762f7                                                     created
+      ├─ aws:lambda:Permission         hello-world-86405973                                                     created
+      ├─ aws:lambda:Permission         hello-world-d21e9c98                                                     created
+      └─ aws:apigateway:Stage          hello-world                                                              created
Outputs:
    endpointUrl: "https://***.execute-api.us-east-2.amazonaws.com/stage/"
Resources:
    + 20 created
Duration: 36s`
- To view the runtime logs of the Lambda function, use the 
pulumi logscommand. To get a log stream, usepulumi logs --follow. 
Clean Up
Run
pulumi destroyto tear down all resources.To delete the stack itself, run
pulumi stack rm. Note that this command deletes all deployment history from the Pulumi console.
Summary
In this tutorial, you built a lambda-backed API on AWS using API Gateway, lambda functions, and Pulumi. This serverless solution is highly scaleable, resilient, and stateless.
Next Steps
Try AWS Native preview for resources not in the classic version.