How to Backup DynamoDB Table: Simple Steps and Example
To backup a DynamoDB table, use the
CreateBackup API or AWS CLI command aws dynamodb create-backup. This creates an on-demand backup of your table that you can restore later if needed.Syntax
The basic syntax to create a backup of a DynamoDB table using AWS CLI is:
aws dynamodb create-backup --table-name <TableName> --backup-name <BackupName>
Where:
- --table-name: The name of the DynamoDB table you want to backup.
- --backup-name: A name you assign to the backup for identification.
Using AWS SDK (e.g., Python boto3), you call create_backup(TableName='TableName', BackupName='BackupName').
bash
aws dynamodb create-backup --table-name MyTable --backup-name MyTableBackup
Example
This example shows how to create a backup of a DynamoDB table named Users using Python and boto3 SDK.
python
import boto3 # Create DynamoDB client client = boto3.client('dynamodb') # Create backup response = client.create_backup( TableName='Users', BackupName='UsersBackup2024' ) print('Backup ARN:', response['BackupDetails']['BackupArn'])
Output
Backup ARN: arn:aws:dynamodb:region:account-id:table/Users/backup/015f1234-5678-90ab-cdef-EXAMPLE11111
Common Pitfalls
Common mistakes when backing up DynamoDB tables include:
- Not specifying a unique
BackupName, which can cause confusion. - Trying to backup a table that does not exist, resulting in errors.
- Ignoring AWS service limits on backup frequency and storage costs.
- Assuming backups are automatic; on-demand backups require explicit calls.
Always check the table name and backup name carefully before running the command.
bash
## Wrong: Missing backup name aws dynamodb create-backup --table-name Users ## Right: Include backup name aws dynamodb create-backup --table-name Users --backup-name UsersBackup2024
Quick Reference
| Command/Method | Description |
|---|---|
| aws dynamodb create-backup | Creates an on-demand backup of a DynamoDB table |
| boto3.client('dynamodb').create_backup() | SDK method to create backup programmatically |
| BackupName | Unique name to identify the backup |
| TableName | Name of the DynamoDB table to backup |
Key Takeaways
Use the CreateBackup API or AWS CLI to create on-demand backups of DynamoDB tables.
Always provide a unique backup name to identify your backups clearly.
Check that the table exists before attempting to backup to avoid errors.
Backups are not automatic; you must create them explicitly.
Monitor backup frequency and storage to control costs.