AWS DynamoDB snippets
How scan an entire DynamoDB table with Python boto3 client
Please note that this snippet is part of the DynamoDB-Simpsons-episodes-full-example repository on GitHub.
Let's say you want to scan the data from a DynamoDB table using any cell of the table simpsonsEpisodes.
Please keep in mind that scan method is a very powerful, but very inefficient and very resource (and money) consuming way to find values in cells, because it scan every cell of every item of the table. For this reason it is better to avoid it if possible.
First of all, you have to create a Client (follow these steps) and then you can use the following code to assign a value to the variables used below.
TABLENAME='simpsonsEpisodes'
table = dynamodbRes.Table(TABLENAME)
response = table.scan(FilterExpression=Attr('Title').eq('The Princess Guide'))
The response code and the data of the item are stored in the response variable.
print(response['Item'])
[{'Title': 'The Princess Guide', 'ProdCode': 'TABF08', 'OriginalAirDate': '2015-03-01', 'USViewers(millions)': Decimal('3.93'), 'No_Season': Decimal('26'), 'DirectedBy': {'Timothy Bailey'}, 'No_Overall': Decimal('567'), 'WrittenBy': {'Brian Kelley'}, 'No_Inseason': Decimal('15')}]
Nicola Simboli Senior Analytics Engineer
15+ years across SaaS, enterprise and consulting. Focused on scalable data platforms, metric reliability and analytics systems that teams actually use.