Message Streaming Capabilities

Different formats of messages (JSON or zipped JSON) are supported.

Type Filter Property

Entity Type Filtering is supported using the typeFilter property. If typeFilter is defined, only events with type that are defined in this field will be sent to the external queue.

Object Filter Property

Entity Type Filtering is supported using the objectFilter property. The objectFilter attribute is a filter expression for an event object. An event is not sent to a destination if its object does not match the filter. The expression structure is the same as for search filters. This attribute is optional, and the default value is null.

For example, the following filter is valid for CRUD Events:

objectFilter=equals(type,'configuration/entityTypes/Individual') and
          startsWith(attributes.FirstName, 'An')

This type of filter does not work properly for MATCHING events, even if the Winnerentity has FirstName = 'Ann' or FirstName = 'Andy'. Such an event does not appear in the queue.

However, the following filter works with CRUD/MATCH Events properly:

objectFilter=equals(type,'configuration/entityTypes/Individual') and gt(updatedTime,
          1567595145000)

objectFilter syntax is checked before a modification. Validation errors are displayed in case of an invalid expression.

Various Formats of messages

By default, messages are sent into a queue in string JSON format, but sometimes long messages can not be sent due to the size. For this case Message Streaming can be configured for zipping messages before sending. The format attribute allows to specify message format:

  • JSON- string JSON by default
  • JSON_ZIP_BASE64- string JSON that was zipped by GZIP and converted into Base64