Embedded Analytics Tutorial

with Amazon QuickSight

Introduction: Embedded Analytics

Follow step-by-step instructions to embed analytics into your own web portal.

Overview

Amazon QuickSight makes it easy to embed analytics into your application, empowering your users to gain deeper insights with your application’s data. QuickSight’s interactive dashboards and visualizations blend seamlessly into your application, which lets you personalize the look and feel. It has a serverless architecture that automatically scales your applications from a few to hundreds of thousands of users without the need to build, setup, and manage your own analytics infrastructure.

In this tutorial, we will show you how to embed analytics easily into your own web portal using Amazon QuickSight. You can choose to either embed specific dashboards into your portal or embed full Amazon QuickSight authoring portal to enable your end customers to build their own custom dashboards. The components used in the serverless embedding framework are the same.

What You Will Learn

  • Create a QuickSight account and publish a dashboard
  • Set up a S3 bucket and Cognito UserPool
  • Create IAM policies
  • Create Lambda functions for dashboard and session embedding
  • Create an API gateway and a static web page
  • Create Lambda for dashboard and session embedded for user and domain setup
  • Launch embedded dashboard and embedded session

Modules

  1. Module One: Setup QuickSight Account and Dashboard (10 mins)
  2. Module Two: Setting up S3 and Cognito User Pools (20 mins)
  3. Module Three: IAM Policies (20 mins)
  4. Module Four: Lambda Functions (20 mins)
  5. Module Five: API Gateway and Static Web Page (20 mins)
  6. Module Six: QuickSight User and Domain Setup (15 mins)
  7. Module Seven: Launch application (5 mins)

Things to Note

All components used in this build are free tier eligible. Amazon QuickSight gives you one free author for ever and additional 4 free authors for initial 60 days. This is just a sample architecture leveraging serverless components. Once you get familiar with embedding, you can modify the components to suit your use case. For example:

  • Use your existing web server instead of S3 & CloudFront.
  • Use your current SSO (backed by OIDC / SAML) / home grown auth mechanism instead of Cognito.
  • Use compute associated with web server instead of Lambda & API Gateway.

You will be able to get embedding to work as long as you have a mechanism to assume a role that has permissions on QuickSight. For this tutorial, you will also need to open a text file in local editor and paste in this:

AwsAccountId:
DashboardId:
DashboardRegion:
CloudFront Domain Name:
Cognito UserPool Id:
Cognito App Client Id :
QSER Role Arn:
API Gateway URL:

Start off by adding the AWS account number and continue filling in other details when prompted in the instructions. This will help you easily reference these values in other steps where they are needed.

 AWS Experience

Beginner  

 Time to Complete

110 minutes  

Setup QuickSight Account and Dashboard