versions used Java 13, Apache Camel 3.11.2, AWS SDK 2.17.40. Seeking help to perform conditional update to dynamodb using Apache Camel integration lib.
Table Definition================= PKCOL String, primary-key COL1 String COL2 String I would like to issue following SQL Equivalent statement using native Apache Camel Dynamodb component UPDATE tableName SET PKCOL = :PKCOLValue, COL1 = :COL1Value, COL2 = :COL2Value //Update expression WHERE //Conditional Expression below (PKCOL = :PKCOLValue AND COL2 < :thresholdValue) OR (attribute_not_exists(PKCOL) OR attribute_not_exists(COL1) OR attribute_not_exists(COL2)) However I am not able to see a direct mapping for update expression, place where I can stick in ORs and ANDs clauses I am able to use combination of aws sdk2 for dynamodb and bean route to get it done as seen below, final UpdateItemRequest request = UpdateItemRequest.builder () .tableName (tableName) .key (itemKey) //PKCOL key, value map .updateExpression (updateExpression) //SET expression clause in query above .conditionExpression (conditionExpression) //Muli conditional statement after where clause in query above .expressionAttributeValues (expressionAttributeValues) //Value map for all columns .returnValues (ReturnValue.UPDATED_NEW) .build (); exchange.getIn ().setBody (request, UpdateItemRequest.class); bean (DynamoDbClient.class, "updateItem(${body})") But I am interested in native camel way, hence seeking help.