For a variety of components, there is the need to transform messages and compose those transformations in a pluggable way. For this purpose, there is a simple DSL to allow functions to be defined for common transformations and to have those functions be composed.

Transformation Language

 

The functions currently supported are:

Example Transformation:

TO_EPOCH_TIMESTAMP(timestamp, 'yyyy-MM-dd HH:mm:ss', MAP_GET(dc, dc2tz, 'UTC'))

For a message with a timestamp and dc field, we want to set the transform the timestamp to an epoch timestamp given a timezone which we will lookup in a separate map, called dc2tz.

This will convert the timestamp field to an epoch timestamp based on the