Amazon connect offers:
- built in reports i.e., historical and real-time reports.
We can customize these reports, schedule them and can integrate with any BI tool of our requirement to query and view the connect data.
Sample solution provided by AWS:
1. Make sure Connect is exporting the CTR data using Kinesis Data Stream
2. Use Kinesis Firehose to deliver the CTR that are in KDS to S3. (CTR's can be delivered as batch of records, so one s3 object might have multiple CTR's). AWS Lambda is used to add a new line character to each record, which makes object easier to parse.
3. s3 Event Notifications are used to send an event to modify the CTR record and saves it in S3.
4. Athena queries the modified CTR's using SQL. Use partitions to restrict the amount of data scanned by each query, improving performance and reducing cost. Lambda function is used to maintain the partitions.
5. Quicksight is used to visualize the modified CTRs.
Solution variations:
Convert records to Apache Parquet format:
- as we save each modified CTR as a single s3 object in JSON format
- athena charges you by the amount of data scanned per query
- you can save costs and get performance if you convert the data to a columnar format like Apache Parquet
- analyzing s3 data in athena: https://aws.amazon.com/blogs/big-data/analyzing-data-in-s3-using-amazon-athena/
- workshop: https://catalog.us-east-1.prod.workshops.aws/workshops/607718a8-cddd-416a-97b4-4fc9dc93ff7a/en-US/