Goal
I want to publish custom and deployment events to Compass when certain events occur in AWS QuickSight (like dashboard versions being updated, data sets being updated, data sources being deleted, etc...). These events don't require any separate build tool, but they're still important to surface.
This is — almost — trivially possible to do with AWS EventBridge.
- Set up event pattern
- Set target to Compass API
- Configure input transformer to map source event data to Compass API schema
Problem
The problem I've encountered is trying to populate updateSequenceNumber — it only accepts an integer. However, AWS event data doesn't have any integer available to represent this — at all.
It would make a lot more sense to me to allow this to be any sortable string instead of requiring an integer. For example:
- ISO 8601 timestamp ("2024-11-27T01:44:15Z")
- Sortable UUID (that includes hyphens)
Workaround
If Compass can't support sortable values for updateSequenceNumber, it makes accomplishing this task obnoxious since the workaround requires adding an intermediate step to simply convert a timestamp into epoch, and this would incur additional cost that, in my view, should be totally unnecessary.
The questions are ultimately:
- Have I overlooked something obvious (either with the Compass API or AWS EventBridge)?
- Is there some other simpler workaround?
- What is the likelihood that Compass could
- Not require sequence number (i.e., if not provided, just auto increment some sequence number you track yourself)?
- Allow sequence number to accept any sortable string?