rodneylab / s3-presigned-urls

WASM functions for generating AWS S3 compatible presigned URLs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

wasm-pack build --target web

For quick start, copy generated pkg folder to Deno project then in JavaScript/TypeScript:

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()}`,
    );
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()}`,
    );

About

WASM functions for generating AWS S3 compatible presigned URLs

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Rust 99.4%Language:JavaScript 0.6%