Cinchy Change Data Capture
Last updated
Last updated
Connection attributes are not required to configure a CDC event stream.
For the topic JSON, you need to provide the following:
If you are creating a CDC listener config for a Cinchy Event Triggered REST API data source, pay in mind the following unique constraints:
Column names in the listener config should not contain spaces. If they do, they will be automatically removed. E.g. a column named First Name will become @FirstName
The replacement variable names are case sensitive.
Column names in the listener config should not be prefixes of other column names. E.g. if you have a column called "Name", you shouldn't have another called "Name2" as the value of @Name2 may end up being replaced by the value of @Name suffixed with a "2".
Parameter | |
---|---|
Column names in the listener config should not be prefixes of other column names. E.g. if you have a column called "Name", you shouldn't have another called "Name2" as the value of @Name2 may end up being replaced by the value of @Name suffixed with a "2".
Use Cinchy CDC
as the source for CDC notifications.
Table GUID
The GUID of the table whose notifications you wish to consume. You can find this in the Design Table screen.
Column(s)
The names of the columns you wish to include. Note: If you will be using the runQuery=true parameter in your data sync, you only need to include the Cinchy Id in the topic JSON.
BatchSize
The desired result batch size. This will default to 1 if not passed in. The maximum batch size is 1000; using a number higher than that will result in a Bad Request response.
Filter
Optional. When CDC is enabled, you can set a filter on columns where you are capturing changes in order to receive specific data.
In the below example, we will only trigger changes on newly approved records by using the "New" filter to include all records where the [Approval State] is equal to 'Approved' AND the record is New, i.e. has not been synced to the target yet. The filter also uses the "Old" filter to disinclude all records where the [Approval State] is not equal to approved AND the record is Old, i.e. has already been synced to the target. Example:
"filter": "New.[Approval State] = 'Approved' AND Old.[Approval State] != 'Approved'" (Hint: Click on the below image to enlarge)