-
Notifications
You must be signed in to change notification settings - Fork 187
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DBZ-6838: Blog post for addition of Custom properties step in DBZ UI
- Loading branch information
Showing
6 changed files
with
75 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
67 changes: 67 additions & 0 deletions
67
_posts/2023-08-21-Debezium-UI-connectors-custom-property.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
--- | ||
layout: post | ||
title: Enable pass-through of additional properties in Debezium UI | ||
date: 2023-08-21 | ||
tags: [ community, debezium-ui ] | ||
author: indrashukla | ||
--- | ||
The Debezium UI team continues to add support for more features, allowing users to configure connectors more easily. In this article, we'll describe and demonstrate how to provide the additional properties for configuration that are not specified in the UI. | ||
Read further for more information! | ||
|
||
+++<!-- more -->+++ | ||
|
||
== Need for custom properties step | ||
|
||
Debezium is very flexible - each connector can be configured and fine-tuned in a variety of ways. Debezium UI already exposes an extensive list of properties that are segregated under different steps for configuration. But even with this extensive list of exposed properties in the UI, there are a few properties that are not known prior and may be needed to be configured while setting up a connector. For example, `producer.*` and `consumer.*` properties are additional options, similarly `driver.*` prefix for the pass-through database drivers properties are also not exposed via UI and if needed, these are to be configured as additional properties. | ||
|
||
*Example* | ||
|
||
Let's take an example of mySql connector, debezium relies on a kafka producer to write schema changes to the database history topic. You define the configuration for the kafka producer by assigning the values to a set of pass-through configuration properties that begin with the `schema.history.internal.producer.*` prefix. | ||
|
||
Debezium strips the prefix from the properties name before it passes the properties to the kafka client. | ||
|
||
== Custom properties step | ||
|
||
The Debezium UI now allows you to configure additional properties for connectors that are not exposed in the UI. For this we have created a new additional step called *Custom Properties* in the configuration wizard. | ||
|
||
[.centered-image.responsive-image] | ||
==== | ||
++++ | ||
<img src="/assets/images/2023-08-20-enable-passthru-ui/CustomStep2.png" class="responsive-image"> | ||
++++ | ||
==== | ||
|
||
*Custom properties* step allow you to provide the additional properties by entering `key` and `value` pair. Once you enter the `key` and `value` pairs of the additional properties, click on the *Apply* button. | ||
|
||
[.centered-image.responsive-image] | ||
==== | ||
++++ | ||
<img src="/assets/images/2023-08-20-enable-passthru-ui/configureEmptylist.png" class="responsive-image"> | ||
++++ | ||
==== | ||
|
||
On the *Apply* button click UI will validate the user entries and provide feedback, if there are any problems. If there are no problems, the UI will show a green check icon on the right side of all the successfully added additional properties. You can also remove any added property by clicking on the *Remove* button on the right side of the property. | ||
|
||
On the left hand side, you can see the list of already configured properties from previous wizard step and the newly added custom properties in this step are show highlighted in the *blue* color. | ||
|
||
[.centered-image.responsive-image] | ||
==== | ||
++++ | ||
<img src="/assets/images/2023-08-20-enable-passthru-ui/CustomProp.png" class="responsive-image"> | ||
++++ | ||
==== | ||
|
||
In the screenshot above user added `schema.history.internal.producer.*` related additional properties . | ||
|
||
|
||
== Self-contained example | ||
|
||
You can try out configuring connector with some custom properties (and more) with our self-contained example https://github.com/debezium/debezium-examples/tree/main/ui-demo[UI demo] - which is included under https://github.com/debezium/debezium-examples[debezium-examples] on Github. The UI demo includes a Docker Compose file which brings up several sources with data as well as the UI. Please refer to the https://github.com/debezium/debezium-examples/tree/main/ui-demo[README file] for more details on running the Debezium UI demo. | ||
|
||
To learn more about the Debezium UI, please refer to the link:/documentation/reference/operations/debezium-ui.html[reference documentation]. | ||
|
||
== More coming soon! | ||
|
||
Stay tuned for further improvements and new feature announcements in the UI in the coming releases. | ||
|
||
_A big thank you to the team who have contributed in many ways: Anisha Mohanty, René Kerner and Chrish Cranford!_ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.