Skip to content

Based on awslabs/aws-lambda-web-adapter example for fastapi-zip with fix for layers

Notifications You must be signed in to change notification settings

sansmoraxz/fastapi-layer-zip-example-with-layers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastAPI-zip

This example shows how to use Lambda Web Adapter to run a FastAPI application on managed python runtime.

How does it work?

We add Lambda Web Adapter layer to the function and configure wrapper script.

  1. attach Lambda Adapter layer to your function. This layer containers Lambda Adapter binary and a wrapper script.
    1. x86_64: arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:20
    2. arm64: arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:20
  2. configure Lambda environment variable AWS_LAMBDA_EXEC_WRAPPER to /opt/bootstrap. This is a wrapper script included in the layer.
  3. set function handler to a startup command: run.sh. The wrapper script will execute this command to boot up your application.

To get more information of Wrapper script, please read Lambda documentation here.

Build and Deploy

Run the following commands to build and deploy the application to lambda.

sam build --use-container
sam deploy --guided

When the deployment completes, take note of FastAPI's Value. It is the API Gateway endpoint URL.

Verify it works

Open FastAPI's URL in a browser, you should see "hello world" on the page.

About

Based on awslabs/aws-lambda-web-adapter example for fastapi-zip with fix for layers

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published