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 sorting is not supported for scan expressions
- dynamodb query key condition not supported
- could not lookup table in dynamodb
- dynamodb put function not working
- DynamoDB Scan Not Working
- boto3 dynamodb unable to locate credentials
- dynamodb local unable to open database file
- dynamodb index not found
- dynamodb item size limit error
- DynamoDB Error 413
- can't pickle thread.lock objects typeerror boto3 python dynamodb
- ProvisionedThroughputExceededException DynamoDB
- dynamodb table did not stabilize
- dynamodb consistent reads are not supported on global secondary indexes
- Unable to start DynamoDB Local process
Login to the AWS Console less. Use Dynobase.
Try 7-day free trial. No credit card needed.
Product Features
DynamoDB Tools
DynamoDB Info
© 2025 Dynobase