Error: 'dynamodb' object has no attribute 'table'

Answered by Rafal Wilinski
What's Causing This Error
This error occurs in the AWS Python SDK when obtaining a table resource using the DynamoDB "client" rather than the "resource."
import boto3
// error occurs when "boto3.client" is used
dynamodb = boto3.client('dynamodb')
table = dynamodb.Table('my-custom-table')
The snippet above uses the boto3.client('dynamodb') that causes the error.
Solution - Here's How To Resolve It
Use the DynamoDB "resource" rather than the "client" to resolve the error.
import boto3
// no error with "boto3.resource"
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('my-custom-table')
// perform operations with the table as there is no error
Other Common DynamoDB Errors (with Solutions)
- DynamoDB attribute not empty
- DynamoDB Not Supported Requires @DynamoDBTyped Or @DynamoDBTypeConverted
- DynamoDB Duplicate Key Error
- DynamoDB Is Unsupported It Cannot Be Instantiated
- DynamoDB Delete Not Working
- DynamoDB Failed To Compute Node presentation
- DynamoDB Local Cannot Create Preexisting Table
- DynamoDB Mapper Could Not Instantiate Class
- dynamodb list_append if_not_exists not working
- dynamodb list_append returns true but does not work
- DynamoDB Error All Attributes Must Be Indexed
- DynamoDB Scan Not Working
- dynamodb cannot create preexisting table
- CORS Error DynamoDB
- dynamodb botocore.exceptions.nocredentialserror unable to locate credentials
Spend less time in the AWS console, use Dynobase.
First 7 days are on us. No strings attached.
Product Features
DynamoDB Tools
DynamoDB Info
© 2026 Dynobase