Skip to content

Latest commit

 

History

History

api

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

S3VS back-end API/service

The back-end is implemented in Python (which has the lowest Lambda cold start times) and uses Pillow-SIMD for shrinking tiles (as needed), Aperio-to-sRGB color space conversion, and JPEG compression.

Prerequisites

The infrastructure code is currently a SAM app. You'll need to install the AWS SAM CLI. You'll also need to install Docker for the --use-container flag to build the native Linux binaries for the OpenSlide and libdmtx Lambda layers.

You'll also need:

  • A DNS Alias record for the API custom domain. You can create one using Route 53.
  • A SSL certificate for the custom domain. You can request public certificates from AWS Certificate Manager.
  • An unique name for a S3 bucket to contain the .svs files.

Build and deploy

You can use the --guided argument to prompt for deployment parameters, or you can create a AWS SAM configuration file (samconfig.toml) with all the necessary parameters to facilitate deployment. First build and deploy the Lambda layers, if you haven't yet:

cd layers
sam build -u
sam deploy [--guided]
cd ..

Then build the Lambda functions:

sam build
sam deploy [--guided]

End-to-end testing

Use the sample web client.