• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Launch Features
2
3See [Prototype 1](prototype/option-1/sync/Prototype.java) for an early
4prototype of the customer-facing APIs.
5
6* A `software.amazon.aws:dynamodb-all` module, including a gateway class
7  that can create generated DynamoDB and enhanced DynamoDB clients.
8* A `software.amazon.awssdk:dynamodb-enhanced` module, including all of
9  the DynamoDB enhanced client classes.
10* Support for the following DynamoDB control-plane resources: tables,
11  global tables, global secondary indexes.
12* Support for the following DynamoDB data-plane operations: get, put,
13  query, scan, delete, update, batchGet, batchWrite, transactGet,
14  transactWrite.
15* Support for object projections.
16* An Item abstraction that replaces the Map<String, AttributeValue>
17  abstraction of the generated client.
18* An ItemAttributeValue abstraction that replaces the AttributeValue
19  abstraction of the generated client.
20* Converters between built-in Java types and ItemAttributeValues.
21* Converters between custom Java beans and ItemAttributeValues.
22* The ability to register custom type converters.
23* Exposure of low-level client metadata, like consumed capacity and
24  metrics.
25
26# Post-Launch Features
27
28* Support for inheritance of custom Java beans.
29* Converters between custom POJOs that do not match the Java bean
30  standard and ItemAttributeValues.
31* Support for the following DynamoDB control-plane resources: backups,
32  continuous backups, limits, TTLs, tags.
33
34# Customer-Requested Changes from 1.11.x
35
36* All built-in Java types should be supported without type converters.
37* There should be just one method of type conversion that can be
38  extended to support any reasonable, foreseeable customer use-case.
39* The high-level library should support immutable object representations
40  from the customer.
41* The high-level library should support object inheritance.
42* The high-level library should support transactional writes.
43* The high-level library should support non-blocking access patterns.
44* The high-level library should expose low-level client metadata, like
45  consumed capacity and metrics.
46
47# FAQ
48
49**Why is dirty data tracking and persistence in the load-modify-save
50scenario not on the feature list?**
51
52From an implementation standpoint, this requires the SDK to track which
53fields have been modified. This complexity is better left to a (future)
54higher level of abstraction, while this library focuses entirely on the
55problem of type conversions.
56
57