PutOptions
Defined in: src/persistence/object-storage/ObjectStorageBackend.ts:18
Generic object-storage abstraction — the same surface that an S3-style
service exposes (PUT / GET / DELETE / LIST), reduced to the minimum
actor-ts needs. Two implementations ship: FilesystemObjectStorage Backend for tests and local dev, S3ObjectStorageBackend for any
S3-compatible service (AWS S3, MinIO, Cloudflare R2, Backblaze B2, …).
The ifMatch / ifNoneMatch options exist to support optimistic
concurrency control — required by ObjectStorageDurableStateStore to
detect concurrent writers. Backends that can’t honour them (e.g. some
older S3-compatible stores) must throw ObjectStorageBackendError with
a clear message rather than silently ignoring them, so callers know
their CAS expectation was lost.
Properties
Section titled “Properties”contentEncoding?
Section titled “contentEncoding?”
readonlyoptionalcontentEncoding?:string
Defined in: src/persistence/object-storage/ObjectStorageBackend.ts:21
Set when the body is compressed; matches the HTTP Content-Encoding header.
contentType?
Section titled “contentType?”
readonlyoptionalcontentType?:string
Defined in: src/persistence/object-storage/ObjectStorageBackend.ts:19
ifMatch?
Section titled “ifMatch?”
readonlyoptionalifMatch?:string
Defined in: src/persistence/object-storage/ObjectStorageBackend.ts:27
Strict CAS: the operation succeeds only if the object’s current ETag
matches. Mismatch → ObjectStorageConcurrencyError. S3 maps this
to the If-Match request header.
ifNoneMatch?
Section titled “ifNoneMatch?”
readonlyoptionalifNoneMatch?:"*"
Defined in: src/persistence/object-storage/ObjectStorageBackend.ts:32
Create-only — succeed only if the object does NOT yet exist. The
sentinel '*' matches S3’s If-None-Match: * semantics.
readonlyoptionalsse?: {kmsKeyId:string; } |"AES256"
Defined in: src/persistence/object-storage/ObjectStorageBackend.ts:37
Server-side encryption hint. Only honoured by S3-style backends; filesystem backends ignore it.