Liking cljdoc? Tell your friends :D

konserve-dynamodb.core

DynamoDB based konserve backend.

DynamoDB based konserve backend.
raw docstring

batch-get-itemsclj

(batch-get-items client table-name store-keys consistent-read?)

Fetch up to 100 distinct keys, retrying partial responses with bounded backoff. Returns an aggregated BatchGetItemResponse. Exhaustion throws rather than presenting unprocessed keys as missing.

Fetch up to 100 distinct keys, retrying partial responses with bounded backoff.
Returns an aggregated BatchGetItemResponse. Exhaustion throws rather than
presenting unprocessed keys as missing.
sourceraw docstring

batch-write-fragments!clj

(batch-write-fragments! client table items)

Stage at most 25 immutable 300 KiB fragments. Even with base64 and envelope overhead this stays below BatchWriteItem's 16 MiB wire limit. Retry only UnprocessedItems; callers must not publish manifests until this succeeds.

Stage at most 25 immutable 300 KiB fragments. Even with base64 and envelope
overhead this stays below BatchWriteItem's 16 MiB wire limit. Retry only
UnprocessedItems; callers must not publish manifests until this succeeds.
sourceraw docstring

connect-storeclj

(connect-store dynamodb-spec & {:keys [opts] :as params})
source

create-dynamodb-tableclj

(create-dynamodb-table client table-name {:keys [read-capacity write-capacity]})
source

delete-dynamodb-tableclj

(delete-dynamodb-table client table-name)
source

delete-itemclj

(delete-item client table-name key)
source

delete-storeclj

(delete-store dynamodb-spec & {:keys [opts]})
source

dynamodb-clientclj

(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.
sourceraw docstring

get-itemclj

(get-item client table-name key consistent-read?)
source

put-itemclj

(put-item client table-name item)
source

put-item-conditionalclj

(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.
sourceraw docstring

releaseclj

(release store env)

Release the store connection.

Release the store connection.
sourceraw docstring

scan-tableclj

(scan-table client table-name)
(scan-table client table-name start-key)
(scan-table client table-name start-key consistent-read?)
source

store-exists?clj

(store-exists? dynamodb-spec & {:keys [opts]})
source

table-exists?clj

(table-exists? client table-name)
source

transact-write-itemsclj

(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.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close