Tengo tales elementos en Dynamo DB:
[{ "Id": "1", "Data": { "Value": "test" } }, { "Id": "2", "Data": {} }, { "Id": "3" }, { "Id": "4", "Data": { "Wrong": "234" } }] Y estoy tratando de aplanarlo, pero solo para el campo Data.Value :
[{ "Id": "1", "Value": "test" }, { "Id": "2" }, { "Id": "3" }, { "Id": "4" }]Mi solicitud de actualización se ve así:
var request = new UpdateItemRequest { TableName = "<table>", Key = new Dictionary<string, AttributeValue> {{"Id", new AttributeValue("<item-id>")}}, UpdateExpression = "SET #a = #c.#a REMOVE #c", ExpressionAttributeNames = new Dictionary<string, string> { {"#c", "Data"}, {"#a", "Value"} } }; Esto funciona bien para Id = 1 y 3. Pero no funciona para 2 y 4. Supongo que porque no puede hacer un SET. No arroja ningún error, simplemente no elimina el atributo Data .
¿Hay alguna manera de hacerlo en una sola llamada?