Cinchy Change Data Capture

Connection Attributes

Connection attributes are not required to configure a CDC event stream.

Topic JSON

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

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:

  • 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".

Sample Topic JSON

{
    "tableGuid": "16523e54-4242-4156-835a-0e572e862304",
    "fields": [
        {
            "column": "Name"
        },
        {
            "column": "Age"
        }
    ],
"filter": "New.[Approval State] = 'Approved' AND Old.[Approval State] != 'Approved'",
   "batchSize": 10
}

Data Sync Configuration

Use Cinchy CDC as the source for CDC notifications.

Last updated