On this page:
dynamo-endpoint
dynamo-region
attribute-type/ c
create-table
delete-table
describe-table
list-tables
put-item
get-item
delete-item
update-item
batch-get-item
batch-write-item
query
scan
update-table

11 Dynamo DB

 (require (planet gh/aws:1:=4/dynamo))

Dynamo is Amazon’s newer "NoSQL" service.

parameter

(dynamo-endpoint)  endpoint?

(dynamo-endpoint v)  void?
  v : endpoint?
Set the endpoint for the service. Defaults to (endpoint "dynamodb.us-east-1.amazonaws.com" #f).

parameter

(dynamo-region)  string?

(dynamo-region v)  void?
  v : string?
Set the region for the service. Defaults to "us-east-1".

value

attribute-type/c : (or/c "S" "N" "B")

A contract for Dynamo attribute types (string, number, base64 binary).

procedure

(create-table name    
  read-units    
  write-units    
  hash-key-name    
  hash-key-type    
  [range-key-name    
  range-key-type])  jsexpr?
  name : string?
  read-units : exact-positive-integer?
  write-units : exact-positive-integer?
  hash-key-name : string?
  hash-key-type : attribute-type/c
  range-key-name : string? = #f
  range-key-type : attribute-type/c = #f
Create a table.

procedure

(delete-table name)  jsexpr?

  name : string?
Delete a table.

procedure

(describe-table name)  jsexpr?

  name : string?
Describe a table.

procedure

(list-tables #:limit limit #:from from)  jsexpr?

  limit : #f
  from : #f
List at most limit tables, starting with the table name from (if continuing a listing that had previously stopped at limit).

procedure

(put-item js)  jsexpr?

  js : jsexpr?

procedure

(get-item js)  jsexpr?

  js : jsexpr?

procedure

(delete-item js)  jsexpr?

  js : jsexpr?

procedure

(update-item js)  jsexpr?

  js : jsexpr?

procedure

(batch-get-item js)  jsexpr?

  js : jsexpr?

procedure

(batch-write-item js)  jsexpr?

  js : jsexpr?

procedure

(query js)  jsexpr?

  js : jsexpr?

procedure

(scan js)  jsexpr?

  js : jsexpr?

procedure

(update-table js)  jsexpr?

  js : jsexpr?
The remaining functions accept JSON which you must construct yourself in the form of a jsexpr?. The variation in the JSON is sufficient that wrapping them in some arbitrary Racket structure doesn’t provide added value. Instead, please see the Dynamo documentation for these similarly-named functions.