DynamoDB based konserve backend.
DynamoDB based konserve backend.
(batch-get-items client table-name store-keys consistent-read?)Fetch multiple items in a single BatchGetItem call. Returns a map of {store-key -> item-map} for found items. Limited to 100 items per request by DynamoDB.
Fetch multiple items in a single BatchGetItem call.
Returns a map of {store-key -> item-map} for found items.
Limited to 100 items per request by DynamoDB.(create-dynamodb-table client table-name {:keys [read-capacity write-capacity]})(dynamodb-client opts)Creates a new DynamoDB client using the provided options, with explicit credential handling.
Creates a new DynamoDB client using the provided options, with explicit credential handling.
(put-item-conditional client table-name item expected-meta)PutItem only if the stored Meta attribute is still expected-meta — or, when
that is ::absent, only if the item does not exist. True on success, false
when DynamoDB refuses.
DynamoDB evaluates the condition itself, atomically with the write, which is
what makes this backing's guarantee :global: it holds against every writer
anywhere, not merely those sharing a filesystem or a heap.
The condition compares the META attribute rather than a separate version column. konserve's revision lives inside the serialized metadata, so the meta bytes ARE the revision as far as this item is concerned — and comparing them needs no schema change, no second attribute to keep in step, and no migration for existing tables. Meta is small; the value is not compared and not sent.
Expression attribute NAMES for both Key and Meta: KEY is a DynamoDB
reserved word, and a literal in an expression would be rejected.
PutItem only if the stored `Meta` attribute is still `expected-meta` — or, when that is `::absent`, only if the item does not exist. True on success, false when DynamoDB refuses. DynamoDB evaluates the condition itself, atomically with the write, which is what makes this backing's guarantee `:global`: it holds against every writer anywhere, not merely those sharing a filesystem or a heap. The condition compares the META attribute rather than a separate version column. konserve's revision lives inside the serialized metadata, so the meta bytes ARE the revision as far as this item is concerned — and comparing them needs no schema change, no second attribute to keep in step, and no migration for existing tables. Meta is small; the value is not compared and not sent. Expression attribute NAMES for both `Key` and `Meta`: `KEY` is a DynamoDB reserved word, and a literal in an expression would be rejected.
(release store env)Release the store connection.
Release the store connection.
(transact-write-items client transact-items)Execute multiple write operations in a single, atomic transaction. Limited to 100 items per transaction by DynamoDB.
Execute multiple write operations in a single, atomic transaction. Limited to 100 items per transaction by DynamoDB.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |