Amazon DynamoDB

Get, put, query, scan, update, and delete items in Amazon DynamoDB tables

Amazon DynamoDB is a fully managed NoSQL database service offered by AWS that provides fast and predictable performance with seamless scalability. DynamoDB lets you store and retrieve any amount of data and serves any level of request traffic, without the need for you to manage hardware or infrastructure.

With DynamoDB, you can:

  • Get items: Look up items in your tables using primary keys
  • Put items: Add or replace items in your tables
  • Query items: Retrieve multiple items using queries across indexes
  • Scan tables: Read all or part of the data in a table
  • Update items: Modify specific attributes of existing items
  • Delete items: Remove records from your tables

In Sim, the DynamoDB integration enables your agents to securely access and manipulate DynamoDB tables using AWS credentials. Supported operations include:

  • Get: Retrieve an item by its key
  • Put: Insert or overwrite items
  • Query: Run queries using key conditions and filters
  • Scan: Read multiple items by scanning the table or index
  • Update: Change specific attributes of one or more items
  • Delete: Remove an item from a table

This integration empowers Sim agents to automate data management tasks within your DynamoDB tables programmatically, so you can build workflows that manage, modify, and retrieve scalable NoSQL data without manual effort or server management.

Usage Instructions

Integrate Amazon DynamoDB into workflows. Supports Get, Put, Query, Scan, Update, Delete, and Introspect operations on DynamoDB tables.

Tools

dynamodb_get

Get an item from a DynamoDB table by primary key

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
keyjsonYesPrimary key of the item to retrieve (e.g., {"pk": "USER#123"} or {"pk": "ORDER#456", "sk": "ITEM#789"})
consistentReadbooleanNoUse strongly consistent read

Output

ParameterTypeDescription
messagestringOperation status message
itemjsonRetrieved item

dynamodb_put

Put an item into a DynamoDB table

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
itemjsonYesItem to put into the table (e.g., {"pk": "USER#123", "name": "John", "email": "john@example.com"})
conditionExpressionstringNoCondition that must be met for the put to succeed (e.g., "attribute_not_exists(pk)" to prevent overwrites)
expressionAttributeNamesjsonNoAttribute name mappings for reserved words used in conditionExpression (e.g., {"#name": "name"})
expressionAttributeValuesjsonNoExpression attribute values used in conditionExpression (e.g., {":expected": "value"})

Output

ParameterTypeDescription
messagestringOperation status message
itemjsonCreated item

dynamodb_query

Query items from a DynamoDB table using key conditions

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
keyConditionExpressionstringYesKey condition expression (e.g., "pk = :pk" or "pk = :pk AND sk BEGINS_WITH :prefix")
filterExpressionstringNoFilter expression for results (e.g., "age > :minAge AND #status = :status")
expressionAttributeNamesjsonNoAttribute name mappings for reserved words (e.g., {"#status": "status"})
expressionAttributeValuesjsonNoExpression attribute values (e.g., {":pk": "USER#123", ":minAge": 18})
indexNamestringNoSecondary index name to query (e.g., "GSI1", "email-index")
limitnumberNoMaximum number of items to return (e.g., 10, 50, 100)
exclusiveStartKeyjsonNoPagination token from a previous query's lastEvaluatedKey to continue fetching results
scanIndexForwardbooleanNoSort order for the sort key: true for ascending (default), false for descending

Output

ParameterTypeDescription
messagestringOperation status message
itemsarrayArray of items returned
countnumberNumber of items returned
lastEvaluatedKeyjsonPagination token to pass as exclusiveStartKey to fetch the next page of results

dynamodb_scan

Scan all items in a DynamoDB table

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
filterExpressionstringNoFilter expression for results (e.g., "age > :minAge AND #status = :status")
projectionExpressionstringNoAttributes to retrieve (e.g., "pk, sk, #name, email")
expressionAttributeNamesjsonNoAttribute name mappings for reserved words (e.g., {"#name": "name", "#status": "status"})
expressionAttributeValuesjsonNoExpression attribute values (e.g., {":minAge": 18, ":status": "active"})
limitnumberNoMaximum number of items to return (e.g., 10, 50, 100)
exclusiveStartKeyjsonNoPagination token from a previous scan's lastEvaluatedKey to continue fetching results

Output

ParameterTypeDescription
messagestringOperation status message
itemsarrayArray of items returned
countnumberNumber of items returned
lastEvaluatedKeyjsonPagination token to pass as exclusiveStartKey to fetch the next page of results

dynamodb_update

Update an item in a DynamoDB table

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
keyjsonYesPrimary key of the item to update (e.g., {"pk": "USER#123"} or {"pk": "ORDER#456", "sk": "ITEM#789"})
updateExpressionstringYesUpdate expression (e.g., "SET #name = :name, age = :age" or "SET #count = #count + :inc")
expressionAttributeNamesjsonNoAttribute name mappings for reserved words (e.g., {"#name": "name", "#count": "count"})
expressionAttributeValuesjsonNoExpression attribute values (e.g., {":name": "John", ":age": 30, ":inc": 1})
conditionExpressionstringNoCondition that must be met for the update to succeed (e.g., "attribute_exists(pk)" or "version = :expectedVersion")

Output

ParameterTypeDescription
messagestringOperation status message
itemjsonUpdated item with all attributes

dynamodb_delete

Delete an item from a DynamoDB table

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringYesDynamoDB table name (e.g., "Users", "Orders")
keyjsonYesPrimary key of the item to delete (e.g., {"pk": "USER#123"} or {"pk": "ORDER#456", "sk": "ITEM#789"})
conditionExpressionstringNoCondition that must be met for the delete to succeed (e.g., "attribute_exists(pk)")
expressionAttributeNamesjsonNoAttribute name mappings for reserved words used in conditionExpression (e.g., {"#status": "status"})
expressionAttributeValuesjsonNoExpression attribute values used in conditionExpression (e.g., {":status": "active"})

Output

ParameterTypeDescription
messagestringOperation status message

dynamodb_introspect

Introspect DynamoDB to list tables or get detailed schema information for a specific table

Input

ParameterTypeRequiredDescription
regionstringYesAWS region (e.g., us-east-1)
accessKeyIdstringYesAWS access key ID
secretAccessKeystringYesAWS secret access key
tableNamestringNoOptional table name to get detailed schema (e.g., "Users", "Orders"). If not provided, lists all tables.

Output

ParameterTypeDescription
messagestringOperation status message
tablesarrayList of table names in the region
tableDetailsjsonDetailed schema information for a specific table

On this page