Trigger QuickSight Lambda

A lambda function that takes the data extracted from the triggerETL-Lambda project and ingests into AWS QuickSight for visualisation.

This is the final part of an overall solution to provide DevOps Key Performance Indicators on a AWS QuickSight dashboard.

  1. Retrieve the data
  2. Transform the data and perform the KPI calculation
  3. Ingest the transformed data to QuickSight (This repository)

Build and deploy

  1. Clone the repository
  2. Install the following dependencies
    1. jq
    2. AWS CLI (v2.0.62)
  3. sh ./package.sh
    (Creates the triggerETL.zip file in the build folder)
  4. sh ./upload.sh
    (Copies the zip file to the specified S3 bucket to store the lambda function)
  5. sh ./build-qs-json.sh
    (Creates the QuickSight JSON file in the build directory)
  6. sh ./upload-qs.sh
    (Uploads the QuickSight JSON file to the S3 ETL output bucket)
  7. sh ./create-stack.sh
    (Creates the CloudFormation stack for all of the required resources)

The following AWS resources are created

  1. Lambda function (DevOpsKpiTriggerQS) and its associated role
  2. A QuickSight Data Source using the data file in S3 ETL output bucket (as generated by the 2nd step in the process)
  3. A QuickSight Data Set (DevOpsKpiJIRADS)

At the time of writing, the CloudFormation support for creating the Analysis from the above resources is not adaquate and so this will need to be done by hand using the QuickSight console. Select the data set from the UI and click the Create Analysis button.

Architecture Diagram

Architecture Diagram