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.
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.
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]
Use the sample web client.