View Source API Reference Dynamo v0.2.0

Modules

Low-level DynamoDB HTTP client: SigV4 signing, retries with jittered exponential backoff, error normalisation and telemetry.

Builds ConditionExpression / FilterExpression strings from Elixir terms, generating attribute-name and value placeholders so you never write names:/values: by hand.

AWS credential resolution.

Long-lived owner of resolved credentials for a repo. Started by the repo supervisor.

Protocol used by the :any type (and nested :map/:list values) to encode structs and custom values that have no explicit field type.

The single error type returned by every Dynamo operation.

A resolved DynamoDB primary key for a table or index.

A page of results from query/scan.

Wraps a value that is already in DynamoDB attribute-value format so the encoder passes it through untouched.

Defines a repository: a supervised process tree that owns the DynamoDB client (region, endpoint, credentials, retry policy) and exposes the operations.

Pure builders for DynamoDB request payloads.

Defines a DynamoDB item schema with typed fields, keys and indexes.

Lazy streams over paginated Query/Scan results.

Behaviour for schema field types.

:any – type inferred from the Elixir value on dump and from the DynamoDB tag on load. Uses the Dynamo.Encodable protocol for structs and custom values. Use an explicit type when you can; :any cannot round-trip atoms, dates or decimals, and always loads numbers as integers/floats.

:binary – B (base64 on the wire). Never inferred; always explicit.

:binary_set – BS (base64 on the wire). Empty sets dump to NULL.

:boolean – BOOL.

:date – S ISO 8601 date.

:decimal – N, using the optional decimal dependency for exact arbitrary-precision numbers (the correct choice for money).

:float – N. Integers are accepted on dump.

:integer – N.

:list – L. Elements are encoded with Dynamo.Type.Any.

:map – M. Values are encoded with Dynamo.Type.Any (inferred). Keys are converted to strings on dump and stay strings on load.

:naive_datetime – S ISO 8601 without offset.

:number_set – NS. Empty sets dump to NULL.

:string – S. Atoms (other than booleans/nil) are accepted on dump and become strings.

:string_set – SS. Empty sets dump to NULL (DynamoDB rejects empty sets).

:time – S ISO 8601 time.

{:list, type} – L whose elements are all dumped/loaded with type. Resolved by Dynamo.Type.resolve!/1; not used directly.

:utc_datetime – S ISO 8601 with Z. Stored in UTC; sorts lexicographically.

:vector / {:vector, dimensions} – a list of floats stored as L of N, the format DynamoDB vector indexes expect. With a dimension the length is checked on dump and load.

Builds DynamoDB UpdateExpressions from a keyword list or map of changes.

Mix Tasks

Creates a DynamoDB table and waits until it is ACTIVE.

Deletes a DynamoDB table after confirmation.

Inspects a table (key schema, GSIs and a sample of items) and writes a schema module that can read the existing items back.

Lists tables, following pagination.