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

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

Spend less time in the AWS console, use Dynobase.

Try 7-day free trial. No credit card needed.

Product Features

© 2022 Dynobase

Dynobase - DynamoDB Swiss Army Knife
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.