A lambda function that takes the data extracted from the getJIRAData project, transforms it using AWS Glue and writes the output to an S3 bucket to be picked up by a subsequent job to ingest into AWS QuickSight for visualisation.
This is part 2 of an overall solution to provide DevOps Key Performance Indicators on a AWS QuickSight dashboard.
- Retrieve the data
- Transfor the data and perform the KPI calculation (This repository))
- Ingest the transformed data to QuickSight - Coming shortly
-
Clone the repository
-
Install the following dependencies
- jq
- AWS CLI (v2.0.62)
-
(Creates the triggerETL.zip file in the build folder)
./sh package.sh
-
(Copies the zip file to the specified S3 bucket to store the lambda function)
./sh upload.sh
-
(Creates the CloudFormation stack for all of the required resources)
./sh create-stack.sh
-
(Copies the ETL script used by the Glue job to the S3 etl-scripts bucket)
./sh upload-etl.sh
-
(Adds the PutObject notification event to the S3 input bucket that is created in part 1 of the solution to trigger this lambda)
./sh create-s3-notification.sh
-
(Runs the Glue crawler to create the table schema from the input data. The input job will need to be run once to provide the input data.)
./sh start-crawler.sh
- Lambda function
- Glue
- Crawler
- Classifier
- Database
- Job
- Role - the execution role associated with the Lambda function to provide access to XRay, SSM, S3 and CF
- S3 buckets
- source for the retrieved JIRA issues.
- output for transformed data
- ETL script