Initialise the AWS SDK S3 client from the JSON-encoded connectionStr.
Does not perform any network call.
Delete a named object.
full object key (path within the bucket)
Release the S3 client (destroys the underlying HTTP connection pool).
Download the raw content of a named object.
full object key (path within the bucket)
Attach a static OINOBlobDataModel to the given API, adding only the
four fields that S3 object listings return (contentType is omitted
because S3 does not include it in listing responses).
the OINOBlobApi whose data model is to be initialised
List all objects in the bucket, applying a server-side S3 Prefix filter
where possible and in-memory result filtering for all other predicates.
name field supports server-side prefix filtering via ListObjectsV2
Prefix option (query filtering).etag, lastModified, contentLength,
contentType) are evaluated in-memory after the listing (result filtering).
Note: S3 listing does not return contentType; it defaults to
"application/octet-stream" unless a contentType filter is applied.Optionalfilter: OINOQueryFilteroptional query filter to apply
Upload (create or replace) an object with the given binary content.
full object key (path within the bucket)
binary content to store
MIME type of the content (e.g. "image/jpeg")
Verify that the target bucket exists and is accessible using a HeadBucket call.
AWS S3 (and S3-compatible) implementation of
OINOBlob.Authenticates using static access key credentials supplied via a JSON-encoded connection string. Connection parameters map as:
params.url→ optional custom endpoint, e.g.https://s3.eu-west-1.amazonaws.comor a compatible service such as MinIO / Cloudflare R2params.container→ S3 bucket nameparams.connectionStr→ JSON string:{"region":"…","accessKeyId":"…","secretAccessKey":"…"}Register and use via the factory: