postrust-lambda
AWS Lambda adapter for Postrust, serving its REST and GraphQL APIs over PostgreSQL.
- Serves the router the
postrustbinary serves, built bypostrust_server::build: REST under/api, GraphQL at/v1/graphql(Apollo Federation included), JWT authentication, the role switch and the claims row-level security reads. GraphQL subscriptions are left out, since a function cannot hold a WebSocket. - Connects and loads the schema cache once per sandbox, in the init phase.
- Tested in AWS's
provided:al2023runtime image against PostgreSQL with row-level security, through aNOINHERITauthenticator.
Build the function with cargo-lambda:
See the deployment guide for SAM and Serverless Framework templates, stage paths and pool sizing.
Install
Part of Postrust
Postrust turns a PostgreSQL database into a REST and GraphQL API. It is published as a set of crates so you can depend on only the part you need:
| Crate | Role | Docs |
|---|---|---|
postrust-server |
HTTP server | docs.rs |
postrust-core |
Engine | docs.rs |
postrust-sql |
SQL builder | docs.rs |
postrust-auth |
Authentication | docs.rs |
postrust-response |
Response formatting | docs.rs |
postrust-graphql |
GraphQL | docs.rs |
postrust-lambda (this crate) |
AWS Lambda | docs.rs |
postrust-worker |
Cloudflare Workers | docs.rs |
postrust-proxy |
Reverse proxy | docs.rs |
Links
- Website: https://postrust.org/
- Documentation: https://postrust.org/docs
- Repository: https://github.com/postrust/postrust
- API docs for this crate: https://docs.rs/postrust-lambda
License
MIT -- see LICENSE.