← All Modules

assay.s3

S3-compatible object storage with AWS Signature V4 authentication. Client: s3.client({endpoint="...", region="...", access_key="...", secret_key="...", path_style=true}). Works with AWS S3, Cloudflare R2, iDrive e2, MinIO, and any S3-compatible provider.

Buckets

Objects

Example:

local s3 = require("assay.s3")
local c = s3.client({
  endpoint = "https://s3.us-east-1.amazonaws.com",
  region = "us-east-1",
  access_key = env.get("AWS_ACCESS_KEY_ID"),
  secret_key = env.get("AWS_SECRET_ACCESS_KEY"),
})
c.objects:put("my-bucket", "data/report.json", json.encode({status = "complete"}))
local content = c.objects:get("my-bucket", "data/report.json")