Class
Returns the public URL for the given content key. For the local driver,
this is the path under /public/ that Next.js serves. For the S3
driver, this is the bucket URL (and optionally signed).
Returns whether a blob for the given key exists in the underlying store. Used by the seed generator to verify content is present, and by future code paths that need to surface "missing media" states.
Reads a bounded UTF-8 text blob for a known text key. Implementations
MUST validate that the key is safe (no absolute prefixes, no .. path
segments) and reject keys that point to binary asset types before
returning any text. Missing or non-text keys reject; the read is not
a general arbitrary-path API.
Returns a URL that grants temporary read access to the object.
Path within this store, prefix already applied
How long the URL stays valid
Reads an object's raw bytes, for copying it to another store.
Writes an object's raw bytes, creating or replacing it.
Removes an object. Used only after a verified copy.
Driven adapter: S3-backed
BlobStore.Remarks
Resolves an object path within ONE bucket. It knows nothing about content keys or routing —
RoutingBlobStoredecides which store owns a key and composes the object path before delegating here, so prefix composition lives in one place rather than being repeated across drivers.A private bucket has no
publicUrl, and S3BlobStore.url refuses rather than inventing one; such stores are reached through the signing endpoint, which calls S3BlobStore.signedUrl.Credentials come from the ambient AWS credential chain (environment, profile, instance role) — never from the location manifest, which is tracked in git.