DEV Community

Mick Jacobsson
Mick Jacobsson

Posted on

Using AWS QuickSight to create dashboards from your DynamoDB data (CDK)

I'm sure you've come up against the same problem that many of us have. You've got a bunch of data in DynamoDB and you just want to easily query it, create some dashboards and maybe share that around.

AWS Athena have made some really exciting changes in the past few months which enable us to query DynamoDB using federated queries. This basically means, deploy a Lambda function that uses JDBC and query the DynamoDB, return the results to Athena. Now, Athena gives us some really cool ad-hoc querying capability so you can drill into your data but no dashboards.

AWS QuickSight is AWS's managed BI tool, kinda like Power BI, Tableau etc except it's much cheaper. AWS QuickSight have released support to use Athena Federated Queries which means you can use that JDBC connector to query your DynamoDB database from within QuickSight!

If you're still following along I've mentioned a bunch of different terms here and it be getting confusing. I've put together a demo which includes using AppSync to provide access to the same powerful connector.

Alt Text

I've created the demo using CDK which will deploy the whole stack as pictured above. It won't deploy the QuickSight part as there isn't much support for QuickSight in CloudFormation or CDK.

There is a bit to talk about for this design, I've done a bigger write up on my blog if you wanna check it out:

https://www.talkncloud.com/athena-dynamodb-quicksight-cdk/

If you just want to hit the open source repo for the CDK stack, you can grab it off github:

https://github.com/talkncloud/aws/tree/main/athena-appsync

Hopefully you found this useful, I had a great time working through this one and found it extremely easy to create nice dashboards in QuickSight once the connectors were in place.

Let me know how you go!

Top comments (1)

Collapse
 
japeter89 profile image
Joseph • Edited

A lot of this is deprecated. Would you mind doing another sample like this but with the latest version of the cdk?