[ 
https://issues.apache.org/jira/browse/CAMEL-12118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16309719#comment-16309719
 ] 

ASF GitHub Bot commented on CAMEL-12118:
----------------------------------------

oscerd closed pull request #2162: CAMEL-12118: DynamoDB: Execute query using 
secondary indexes
URL: https://github.com/apache/camel/pull/2162
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/components/camel-aws/src/main/docs/aws-ddb-component.adoc 
b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
index 19544e99f5a..cc3145b922b 100644
--- a/components/camel-aws/src/main/docs/aws-ddb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
@@ -105,6 +105,8 @@ returned.
 |`CamelAwsDdbConsistentRead` |`Boolean` |If set to true, then a consistent 
read is issued, otherwise eventually
 consistent is used.
 
+|`CamelAwsDdbIndexName` |`String` |If set will be used as Secondary Index for 
Query operation.
+
 |`CamelAwsDdbItem` |`Map<String, AttributeValue>` |A map of the attributes for 
the item, and must include the primary key
 values that define the item.
 
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConstants.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConstants.java
index 6c2dbaeed4d..6ababab2fd6 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConstants.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConstants.java
@@ -32,6 +32,8 @@
     // String EXACT_COUNT = "CamelAwsDdbExactCount";
     // Removed from DynamoDB v1 to v2
     // String HASH_KEY_VALUE = "CamelAwsDdbHashKeyValue";
+    // Added INDEX_NAME for querying secondary indexes
+    String INDEX_NAME = "CamelAwsDdbIndexName";
     String ITEM = "CamelAwsDdbItem";
     String ITEMS = "CamelAwsDdbItems";
     String ITEM_COUNT = "CamelAwsDdbTableItemCount";
diff --git 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/QueryCommand.java
 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/QueryCommand.java
index 8719bfe5329..d64e9eeff6c 100644
--- 
a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/QueryCommand.java
+++ 
b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/QueryCommand.java
@@ -34,7 +34,7 @@ public QueryCommand(AmazonDynamoDB ddbClient, 
DdbConfiguration configuration, Ex
 
     @Override
     public void execute() {
-        QueryResult result = ddbClient.query(new QueryRequest()
+        QueryRequest query = new QueryRequest()
                 .withTableName(determineTableName())
                 .withAttributesToGet(determineAttributeNames())
                 .withConsistentRead(determineConsistentRead())
@@ -42,7 +42,14 @@ public void execute() {
                 .withKeyConditions(determineKeyConditions())
                 .withExclusiveStartKey(determineStartKey())
                 .withLimit(determineLimit())
-                .withScanIndexForward(determineScanIndexForward()));
+                .withScanIndexForward(determineScanIndexForward());
+        
+        // Check if we have set an Index Name
+        if(exchange.getIn().getHeader(DdbConstants.INDEX_NAME, String.class) 
!= null) {
+            
query.withIndexName(exchange.getIn().getHeader(DdbConstants.INDEX_NAME, 
String.class));
+        }
+        
+        QueryResult result = ddbClient.query(query);
         
         Map tmp = new HashMap<>();
         tmp.put(DdbConstants.ITEMS, result.getItems());


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> DynamoDB: Execute query using secondary indexes
> -----------------------------------------------
>
>                 Key: CAMEL-12118
>                 URL: https://issues.apache.org/jira/browse/CAMEL-12118
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-aws
>            Reporter: Fabrizio Spataro
>            Assignee: Fabrizio Spataro
>             Fix For: 2.21.0
>
>
> Current code isn't able to indicate a secondary index name into a query 
> operation



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to