Manage Amazon DynamoDB tables and items using awsclaw. Create/delete/update tables, query and scan data, CRUD operations on items, manage TTL, backups, global tables, auto-scaling, and tags.
Manage DynamoDB tables and items through the awsclaw DynamoDBTool.
Use this skill when the user:
Execute DynamoDB commands. ALWAYS provide params object.
List DynamoDB tables.
{ "command": "ListTables", "params": { "Limit": 100 } }
Parameters:
| Parameter | Type | Required | Description |
|---|
| Limit | number | No | Maximum number of tables to return |
| ExclusiveStartTableName | string | No | Pagination start table name |
Get detailed information about a table.
{ "command": "DescribeTable", "params": { "TableName": "my-table" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
Get TTL settings for a table.
{ "command": "DescribeTimeToLive", "params": { "TableName": "my-table" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
Get continuous backup and point-in-time recovery status.
{ "command": "DescribeContinuousBackups", "params": { "TableName": "my-table" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
Get auto-scaling settings for table replicas.
{ "command": "DescribeTableReplicaAutoScaling", "params": { "TableName": "my-table" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
Query items by primary key with optional filter expressions.
{
"command": "Query",
"params": {
"TableName": "my-table",
"KeyConditionExpression": "pk = :pk AND begins_with(sk, :prefix)",
"ExpressionAttributeValues": { ":pk": { "S": "user-123" }, ":prefix": { "S": "order#" } },
"Limit": 25
}
}
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
| KeyConditionExpression | string | Yes (for Query) | Key condition expression |
| FilterExpression | string | No | Filter expression applied after query |
| ExpressionAttributeValues | object | No | Expression attribute values map (DynamoDB typed: {"S":"string"}, {"N":"123"}, {"BOOL":true}) |
| ExpressionAttributeNames | object | No | Expression attribute names map (for reserved words) |
| IndexName | string | No | Secondary index name (GSI or LSI) |
| Select | string | No | Projection selection (ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, COUNT, SPECIFIC_ATTRIBUTES) |
| Limit | number | No | Maximum items to return |
Scan all items in a table with optional filter.
{
"command": "Scan",
"params": {
"TableName": "my-table",
"FilterExpression": "age > :minAge",
"ExpressionAttributeValues": { ":minAge": { "N": "30" } },
"Limit": 100
}
}
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
| FilterExpression | string | No | Filter expression |
| ExpressionAttributeValues | object | No | Expression attribute values map |
| ExpressionAttributeNames | object | No | Expression attribute names map |
| IndexName | string | No | Secondary index name |
| Select | string | No | Projection selection |
| Limit | number | No | Maximum items to return |
Get a single item by primary key.
{
"command": "GetItem",
"params": {
"TableName": "my-table",
"Key": { "pk": { "S": "user-123" }, "sk": { "S": "profile" } }
}
}
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
| Key | object | Yes | Primary key map (DynamoDB typed values) |
Create or replace an item.
{
"command": "PutItem",
"params": {
"TableName": "my-table",
"Item": { "pk": { "S": "user-123" }, "sk": { "S": "profile" }, "name": { "S": "John" } }
}
}
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
| Item | object | Yes | Item attributes map (DynamoDB typed values) |
| ConditionExpression | string | No | Condition expression for conditional writes |
| ExpressionAttributeValues | object | No | Expression attribute values |
| ExpressionAttributeNames | object | No | Expression attribute names |
Update attributes of an existing item.
{
"command": "UpdateItem",
"params": {
"TableName": "my-table",
"Key": { "pk": { "S": "user-123" }, "sk": { "S": "profile" } },
"UpdateExpression": "SET #n = :name, age = :age",
"ExpressionAttributeNames": { "#n": "name" },
"ExpressionAttributeValues": { ":name": { "S": "Jane" }, ":age": { "N": "25" } }
}
}
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
| Key | object | Yes | Primary key map |
| UpdateExpression | string | No | Update expression (SET, REMOVE, ADD, DELETE) |
| ConditionExpression | string | No | Condition expression |
| ExpressionAttributeValues | object | No | Expression attribute values |
| ExpressionAttributeNames | object | No | Expression attribute names |
| AttributeUpdates | object | No | Legacy attribute updates map |
Delete an item by primary key.
{
"command": "DeleteItem",
"params": {
"TableName": "my-table",
"Key": { "pk": { "S": "user-123" }, "sk": { "S": "profile" } }
}
}
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
| Key | object | Yes | Primary key map |
| ConditionExpression | string | No | Condition expression |
| ExpressionAttributeValues | object | No | Expression attribute values |
| ExpressionAttributeNames | object | No | Expression attribute names |
Create a new DynamoDB table.
{
"command": "CreateTable",
"params": {
"TableName": "new-table",
"KeySchema": [{ "AttributeName": "pk", "KeyType": "HASH" }, { "AttributeName": "sk", "KeyType": "RANGE" }],
"AttributeDefinitions": [{ "AttributeName": "pk", "AttributeType": "S" }, { "AttributeName": "sk", "AttributeType": "S" }],
"BillingMode": "PAY_PER_REQUEST"
}
}
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Table name |
| KeySchema | array of objects | Yes | Key schema definitions (HASH and optional RANGE) |
| AttributeDefinitions | array of objects | Yes | Attribute definitions (S, N, B) |
| BillingMode | string | No | PROVISIONED or PAY_PER_REQUEST |
| ProvisionedThroughput | object | No | Read/write capacity units (required for PROVISIONED) |
| ExpressionAttributeNames | object | No | Expression attribute names |
Delete a DynamoDB table.
{ "command": "DeleteTable", "params": { "TableName": "old-table" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Table name to delete |
Update table settings (billing, GSIs, etc.).
{ "command": "UpdateTable", "params": { "TableName": "my-table", "BillingMode": "PAY_PER_REQUEST" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Table name |
| BillingMode | string | No | PROVISIONED or PAY_PER_REQUEST |
| ProvisionedThroughput | object | No | Provisioned throughput config |
| GlobalSecondaryIndexUpdates | array of objects | No | Updates to GSIs |
Enable or disable TTL on a table.
{
"command": "UpdateTimeToLive",
"params": {
"TableName": "my-table",
"TimeToLiveSpecification": { "AttributeName": "ttl", "Enabled": true }
}
}
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Table name |
| TimeToLiveSpecification | object | Yes | TTL specification with AttributeName and Enabled |
List DynamoDB table backups.
{ "command": "ListBackups", "params": {} }
Parameters: None required.
List global tables.
{ "command": "ListGlobalTables", "params": {} }
Parameters: None required.
List tags for a DynamoDB resource.
{ "command": "ListTagsOfResource", "params": { "ResourceArn": "arn:aws:dynamodb:..." } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| ResourceArn | string | Yes | Table resource ARN |
Create an on-demand backup.
{ "command": "CreateBackup", "params": { "TableName": "my-table", "BackupName": "daily-2026-02-15" } }
Get details of a backup.
{ "command": "DescribeBackup", "params": { "BackupArn": "arn:aws:dynamodb:...:backup/backup-id" } }
Delete a backup.
{ "command": "DeleteBackup", "params": { "BackupArn": "arn:aws:dynamodb:...:backup/backup-id" } }
Restore a table from a backup.
{ "command": "RestoreTableFromBackup", "params": { "TargetTableName": "restored-table", "BackupArn": "arn:aws:dynamodb:...:backup/backup-id" } }
Create a global table.
{ "command": "CreateGlobalTable", "params": { "GlobalTableName": "global-table", "ReplicationGroup": [{ "RegionName": "us-east-1" }, { "RegionName": "us-west-2" }] } }
Update a global table replication group.
{ "command": "UpdateGlobalTable", "params": { "GlobalTableName": "global-table", "ReplicaUpdates": [{ "Create": { "RegionName": "eu-west-1" } }] } }
Tag a DynamoDB resource.
{ "command": "TagResource", "params": { "ResourceArn": "arn:aws:dynamodb:...", "Tags": [{ "Key": "env", "Value": "prod" }] } }
Remove tags from a DynamoDB resource.
{ "command": "UntagResource", "params": { "ResourceArn": "arn:aws:dynamodb:...", "TagKeys": ["env"] } }
LambdaTool ListEventSourceMappings to find stream-triggered functionsIAMTool SimulatePrincipalPolicy to test accessCloudFormationTool DescribeStackResources