aws-dynamo
@noy-db/to-aws-dynamo·pnpm add @noy-db/to-aws-dynamo @aws-sdk/client-dynamodb @aws-sdk/lib-dynamodbSingle-table DynamoDB, zero-knowledge cloud sync.
| Shape | record |
| Atomic CAS | ✓ |
| Locality | cloud |
| Speed | slow |
| Persistence | durable |
What it does
Stores records single-table style (pk = vault, sk = {collection}#{id}), so
loadAll() for a collection is a single Query rather than N requests.
@aws-sdk/client-dynamodb and @aws-sdk/lib-dynamodb are peer dependencies you
install and wire up in your app.
Notes
casAtomic: trueviaConditionExpressionon the version attribute.- Record shape, one item per record.
- Pairs naturally with
to-aws-s3for blob-heavy collections viarouteStore. - Factory:
toAwsDynamo(options: DynamoOptions).
Store-locator descriptor
See store-locator descriptors for the general model.
kind: 'aws-dynamo', class: 'cloud'. address is { table, region?, endpoint? }. Takes no options argument — this store has no
serializable tuning today. binding.client? carries a pre-built document
client, which always wins over address-derived construction; AWS credentials
arrive via a kind: 'aws' StoreCredentialSource at resolve() time, or
implicitly via the SDK's default provider chain.
import { dynamoStoreDescriptor, registerDynamoStore } from '@noy-db/to-aws-dynamo'
const descriptor = dynamoStoreDescriptor({ table: 'noydb', region: 'us-east-1' })