Objects and their limits
These are S3’s own numbers, and they are enforced at S3’s values:
The 5 MiB floor applies to every part except the last one named at completion,
and it is checked at completion, not when the part is uploaded. A part list
whose non-final part is short fails with
EntityTooSmall after the bytes are
already staged.
Uploads you start and never finish keep their staged parts until something
removes them. Add an abort_incomplete_multipart_upload lifecycle
rule rather than relying on remembering.
Storage classes
Two classes, and they name device tiers rather than access patterns:
They keep S3’s uppercase spelling because the vocabulary is S3’s. Set a class
per object with
x-amz-storage-class on the upload, or move objects between
classes with a lifecycle transition. The two classes bill separately, so the
label an object carries decides which counter and which price its bytes land on.
An unsupported class — STANDARD_IA, GLACIER, anything else S3 defines — is
rejected rather than quietly stored as STANDARD.
Working with objects through the storage API
You do not need an S3 client. The storage API exposes the same object plane under/v1/buckets/{bucket}/objects, authenticated with your ordinary
Basaltic credentials exactly like every other call to this API — useful for a
service that already holds them and should not carry an S3 SDK as well:
- Console
- API
- CLI
- Go
A bucket’s Objects tab is a file browser over the same routes.
Upload opens the Upload objects page, where you set a Folder
prefix, pick a Storage class — Standard or Cold — and add
Files. New folder creates a prefix, and selecting rows gives you
Delete selected, which issues one delete per key rather than a bulk
request — see the note below.Opening an object gives you Download and Delete, a Versions
tab, and a Properties tab carrying its Tags alongside the
retention controls.
?tagging,
?retention, ?legal-hold — and the same X-Amz-* headers apply on upload for
storage class, encryption and object-lock settings. delimiter gives you the
usual folder semantics through common_prefixes, and max_keys is capped at
1000 per page.
Bulk delete (
POST ?delete) and server-side copy (x-amz-copy-source) are S3
endpoint features. Through the storage API, delete objects one at a time.