Retrieves a value.
A key is reported as absent whether it was never stored, was removed or was dropped by the bucket under its own retention policy, so a caller must be ready for a stored value to be gone on a later lookup.
The key of the value to be retrieved
A promise resolving to a stream over the value stored under key, or to undefined if the bucket
holds none; a fresh stream is opened on every call, as a stream is consumed once
Stores a value.
Replaces whatever is stored under key, as key-addressed byte stores provide no in-place update, so a caller
is free to store a key without first removing it.
The key the value is to be stored under
A stream over the value to be stored, consumed to completion before the promise settles
A promise resolving when value is stored
Removes a value.
States an outcome rather than a change: removing a key the bucket doesn't hold succeeds without doing anything, so a caller is free to remove a key without first checking for it.
The key of the value to be removed
A promise resolving when no value is stored under key
Keyed blob store.
Holds opaque byte values under opaque string keys. Values are written and read as a whole, as key-addressed byte stores provide no in-place update, and are addressed one key at a time, as they provide no enumeration. A stored value is retained until removed, unless the implementation states a retention policy of its own.
The contract is deliberately kept close to the cloud object storage APIs, so that an implementation over a service such as Amazon S3, Google Cloud Storage or Cloudflare R2 is a thin adapter over its client.