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 Winner
entity 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 defaultJSON_ZIP_BASE64
- string JSON that was zipped by GZIP and converted into Base64