Surreal S3 is a plugin for SurrealDB that enables interfacing with S3 inside SurrealQL
- Get, put, and delete objects
- Generate pre-signed URIs
- Multipart uploads
Generate a pre-signed URL for an object in S3:
mod::s3::sign::get('main', 'hello.txt', 5m);Returns
{
"method": "GET",
"uri": "https://main.s3.amazonaws.com/hello.txt?x-id=GetObject&...",
"expires_at": "2026-09-15T12:05:00Z"
}See Installation in the docs.
- Automated tests, run in CI
- Automatically re-run those tests against the module's latest release whenever SurrealDB publishes a new release or pre-release
- Distribute the binary via SurrealDB 3.3.0 Silo
- Create, delete, and set rules on buckets
This project uses the nightly Rust toolchain. Installing SurrealDB locally is
recommended, to test changes and build the .surli binary locally.
-
Building the source code
cargo build # --release for release builds -
Building the
.surlibinarysurreal module build --debug # remove debug for release buildsRead more about
surreal modulein the official SurrealDB docs.
The docs, under docs/, are an Astro site built with Bun.
- Running the docs locally
bun install bun run dev
- Building the docs
bun run build
Contributions are welcome. Open an issue first to discuss the change before implementing it, so effort isn't spent on a PR that won't be accepted.
Pull requests and issues that are entirely AI-generated, without a human author reviewing and standing behind the content, will be closed without discussion.
A PR that doesn't meet the quality maintainers expect will be left open for the author or another contributor to bring up to standard. If it isn't, it will eventually be closed. Issues and PRs judged not to fit the project will be closed, and repeat offenders will be blocked.
Surreal S3 is an independent project, not affiliated with or endorsed by SurrealDB.
Made with ❤️ by yuunalein.
0 comments
log in to comment.