# DynamoDB Query Action

It provides a way to perform a query on DynamoDB. Before adding DynamoDB Query Action, user has to define a [**AWS Connection**](https://docs.thingsup.io/connections/aws-connection). User need to provide following parameters to add DynamoDB Query Action.

#### TableName

User's DynamoDB Tablename

#### Function

* &#x20;JavaScript code to Query "DynamoDB".
* &#x20;"payload" object and "params" object is available in this code. params object should hold key-value data pairs as mentioned in [AWS Doc](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#query-property). "payload" object is supplied from Action Trigger like Rules, Action Command etc.
* Any params passed through Function will override parameters passed through form.

#### Connection ID

Connection ID of AWS Connection.

#### Limit

User can set limit here.

#### KeyConditionExpression

User can provide a KeyConditionExpression here. Check [AWS Doc](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#query-property) for more information.

#### ExpressionAttributeValues

User can provide a ExpressionAttributeValues here. Check [AWS Doc](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#query-property) for more information.

#### ExpressionAttributeNames

User can provide a ExpressionAttributeNames here. Check [AWS Doc](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#query-property) for more information.

#### FilterExpression

User can provide a FilterExpression here. Check [AWS Doc](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#query-property) for more information.

#### ProjectionExpression

User can provide a ProjectionExpression here. Check [AWS Doc](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#query-property) for more information.

```
//Example 1
//Let "id" and "name" are the column names inside DynamoDB table.
//It contains a entry having id=2 and name="abc"
//Following are the fields you need mention in form to get the entries from table id having value 2.

#a = :id_val     //KeyConditionExpression
{"#a":"id" }     //ExpressionAttributeNames
{":id_val":2}    //ExpressionAttributeValues
```

![Add DynamoDB Query Action](https://365492316-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7aTljSjWsfbXZ_OP_9%2Fuploads%2Ftw0ZyWeTLcVwkm2YjOuU%2FdynamoDbQuery_1.png?alt=media\&token=f1899224-2fbc-4308-aedf-6a71f3252607)

Please note the following points:

{% hint style="info" %}

* "payload" object is supplied from Action Trigger like Rules, Action Command etc.
* Data Response of Query will be available as Action Response.
  {% endhint %}
