Il nuovo AWS DynamoDB document API consente 2 nuovi tipi di dati che corrispondono direttamente alla rappresentazione JSON sottostante: Mappa (noto anche come oggetto JSON) e Elenco (ovvero matrice JSON).Come aggiornare una mappa o un elenco sull'API di documenti AWS DynamoDB?
Tuttavia, non riesco a trovare un modo per aggiornare gli attributi di questi tipi di dati senza sovrascriverli completamente. Al contrario, un attributo numero può essere aggiornato con l'aggiunta di un altro numero, quindi in Java si può fare qualcosa di simile:
new AttributeUpdate("Some numeric attribute").addNumeric(17);
Allo stesso modo è possibile addElements a un attributo di un tipo di dati Set. (Nella vecchia API si usa AttributeAction.ADD per entrambi gli scopi.)
Ma per una mappa o un elenco, sembra che sia necessario aggiornare localmente il valore precedente, quindi inserirlo al posto di tale valore, ad esempio in Java :
List<String> list = item.getList("Some list attribute");
list.add("new element");
new AttributeUpdate("Some list attribute").put(list);
Questo è molto meno leggibile, e in alcune circostanze molto meno efficiente.
Quindi le mie domande sono:
C'è un modo per aggiornare un attributo di una mappa o di un tipo di dati Lista senza sovrascrivere il valore precedente? Ad esempio, per aggiungere un elemento a un elenco o per inserire un elemento in una mappa?
Come implementarlo utilizzando l'API Java?
Sei a conoscenza di piani per supportare questo in futuro?
C'è la documentazione più recente che parla di come aggiungere elementi alle liste; vedi http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.UpdatingListElements –