https://github.com/rodneylab/s3-presigned-urls
WASM functions for generating AWS S3 compatible presigned URLs
https://github.com/rodneylab/s3-presigned-urls
backblaze backblaze-b2 deno rust s3-compatible wasm
Last synced: 2 months ago
JSON representation
WASM functions for generating AWS S3 compatible presigned URLs
- Host: GitHub
- URL: https://github.com/rodneylab/s3-presigned-urls
- Owner: rodneylab
- License: bsd-3-clause
- Created: 2022-11-21T14:11:56.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-21T14:15:19.000Z (over 3 years ago)
- Last Synced: 2025-10-23T20:54:12.114Z (8 months ago)
- Topics: backblaze, backblaze-b2, deno, rust, s3-compatible, wasm
- Language: Rust
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# s3-presigned-urls
Generate pre-signed URLs for fetching and putting files to S3 compatible storage with WASM.
Can be used with Deno and creates pre-signed URLs for multipart uploads.
Tested on Backblaze storage.
```shell
wasm-pack build --target web
```
For quick start, copy generated `pkg` folder to Deno project then in JavaScript/TypeScript:
```javascript
import init, {
presigned_get_url,
presigned_multipart_put_url,
presigned_put_url,
} from "@/pkg/s3_presigned_urls.js";
import { cuid } from "cuid/index.js";
await init();
const uploadUrl = presigned_put_url(
"my-movie.m2ts",
"example-bucket",
600,
"AKIDEXAMPLE", // Account Id
"wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY". // account auth token
`session-${cuid()}`,
);
```
```javascript
import init, {
presigned_get_url,
presigned_multipart_put_url,
presigned_put_url,
} from "@/pkg/s3_presigned_urls.js";
import { cuid } from "cuid/index.js";
await init();
const uploadUrl = presigned_multipart_put_url(
"my-movie.m2ts",
"example-bucket",
600,
4, // number of parts
"your-upload-id",
"AKIDEXAMPLE", // Account Id
"wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY". // account auth token
`session-${cuid()}`,
);
```