name: awsflow-dynamodb description: Manage Amazon DynamoDB tables and items using awsflow. Create/delete/update tables, query and scan data, CRUD operations on items, manage TTL, backups, global tables, auto-scaling, and tags.
Awsflow DynamoDB
Manage DynamoDB tables and items through the awsflow DynamoDBTool.
When to Use This Skill
Use this skill when the user:
- Asks about DynamoDB tables or items
- Wants to query or scan DynamoDB data
- Needs to create, update, or delete tables
- Wants to perform CRUD operations on items (get, put, update, delete)
- Asks about TTL, backups, global tables, or auto-scaling
- Needs to manage table tags
Tool: DynamoDBTool
Execute DynamoDB commands. ALWAYS provide params object.
Commands
ListTables
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 |
DescribeTable
Get detailed information about a table.
{ "command": "DescribeTable", "params": { "TableName": "my-table" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
DescribeTimeToLive
Get TTL settings for a table.
{ "command": "DescribeTimeToLive", "params": { "TableName": "my-table" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Target table name |
DescribeContinuousBackups
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 |
DescribeTableReplicaAutoScaling
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
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
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 |
GetItem
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) |
PutItem
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 |
UpdateItem
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 |
DeleteItem
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 |
CreateTable
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 |
DeleteTable
Delete a DynamoDB table.
{ "command": "DeleteTable", "params": { "TableName": "old-table" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| TableName | string | Yes | Table name to delete |
UpdateTable
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 |
UpdateTimeToLive
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 |
ListBackups
List DynamoDB table backups.
{ "command": "ListBackups", "params": {} }
Parameters: None required.
ListGlobalTables
List global tables.
{ "command": "ListGlobalTables", "params": {} }
Parameters: None required.
ListTagsOfResource
List tags for a DynamoDB resource.
{ "command": "ListTagsOfResource", "params": { "ResourceArn": "arn:aws:dynamodb:..." } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| ResourceArn | string | Yes | Table resource ARN |
CreateBackup
Create an on-demand backup.
{ "command": "CreateBackup", "params": { "TableName": "my-table", "BackupName": "daily-2026-02-15" } }
DescribeBackup
Get details of a backup.
{ "command": "DescribeBackup", "params": { "BackupArn": "arn:aws:dynamodb:...:backup/backup-id" } }
DeleteBackup
Delete a backup.
{ "command": "DeleteBackup", "params": { "BackupArn": "arn:aws:dynamodb:...:backup/backup-id" } }
RestoreTableFromBackup
Restore a table from a backup.
{ "command": "RestoreTableFromBackup", "params": { "TargetTableName": "restored-table", "BackupArn": "arn:aws:dynamodb:...:backup/backup-id" } }
CreateGlobalTable
Create a global table.
{ "command": "CreateGlobalTable", "params": { "GlobalTableName": "global-table", "ReplicationGroup": [{ "RegionName": "us-east-1" }, { "RegionName": "us-west-2" }] } }
UpdateGlobalTable
Update a global table replication group.
{ "command": "UpdateGlobalTable", "params": { "GlobalTableName": "global-table", "ReplicaUpdates": [{ "Create": { "RegionName": "eu-west-1" } }] } }
TagResource
Tag a DynamoDB resource.
{ "command": "TagResource", "params": { "ResourceArn": "arn:aws:dynamodb:...", "Tags": [{ "Key": "env", "Value": "prod" }] } }
UntagResource
Remove tags from a DynamoDB resource.
{ "command": "UntagResource", "params": { "ResourceArn": "arn:aws:dynamodb:...", "TagKeys": ["env"] } }
Related Services
- DynamoDB → Lambda: DynamoDB Streams trigger Lambda functions. Use
LambdaToolListEventSourceMappingsto find stream-triggered functions - DynamoDB → CloudWatch: DynamoDB metrics (read/write capacity, throttling) are in CloudWatch Metrics
- DynamoDB → IAM: Table access controlled by IAM policies. Use
IAMToolSimulatePrincipalPolicyto test access - DynamoDB → CloudFormation: Tables managed by CloudFormation — use
CloudFormationToolDescribeStackResources - DynamoDB → S3: DynamoDB backups can be exported to S3