Event topic bindings

Event Topic Bindings are used to define a topic on a message broker (e.g., Apache Kafka) to which events are published or consumed from. These event topic bindings are managed in Solution Hub where you can create new bindings to connect to existing topics on one or more message broker (e.g., Apache Kafka) or edit these bindings. In Solution Designer you can then refer to these bindings when creating an event, or you can create new event topic bindings in order to create a new topic on the selected message broker.

In order to use event topic bindings you need to have configured at least one message hub binding on "environment" level.

Warning:

The user specified in the Message Hub Binding must have sufficient permissions to create new topics on the selected message broker in order to create new topics with Solution Designer or Solution Hub. If not, you can only create event topic bindings for existing topics for which the above-mentioned user has read/write permissions.

Create event topic bindings

There are two ways to create an event topic binding, one is using Solution Designer and the other is using Solution Hub. While the first way may fit better into the workflow of Business Analysts and Solution Engineers when modelling solutions, the second option may better suit the needs of administrators and ops members.

Using Solution Designer:

You can create event topic bindings while creating a new Event. There, the drop-down to select the event topic binding also provides an Add function to create new bindings.

Using Solution Hub:

You can also create event topic bindings in the "Topic bindings" tab inside Solution Hub. There are two levels providing different scopes of these bindings.

  • On "Environment" level (the top most level), you can find a tab called "Topic bindings" which lists all event topic bindings available in all deployment targets. Any new event topic binding will be listed here with the value it was given at creation.
  • After having selected on of the k5-projects (deployment targets) there is also a "Topic bindings" tab that now lists only the event topic bindings used by projects in this k5-project. The table also has an additional column that indicates if this binding is configured globally or individually for this deployment target.
Note:

As long as no-one edited an event topic binding on a certain k5-project (deployment target), this value will be applied to every deployment that associates this binding on every deployment target.

To create a new binding, click on the "Create" button and fill in the required information.

  • Binding Name: This is the identifier (name) of the event topic binding. It is unique within a namespace. Please note that only the characters A-z (without special characters), digits and the special character "_" are permitted for naming entities! The binding name cannot be changed after creation (required).
  • Message Hub Binding: Determines the message broker (Apache Kafka cluster) that hosts the event topic (required).
  • Topic Name: The name of the event topic on the message broker (required).
  • Retention Hours: Defines how long the event data is saved on a topic before it gets discarded. Possible values are 1 - 720. Default is 24 hrs (optional).
Note:

The drop-down for the Topic Name will only list topics on the selected message broker for which the user stated in the Message Hub Service Binding has read/write permissions. In case you can't see the topic you were expecting, please contact your message broker's administrator.

Edit event topic bindings

You can edit the master data of an event topic binding only in Solution Hub. There are two options to configure them depending on what you want to achieve.

If you want to change the global version of an event topic binding, which would be applied to every deployment that associates this binding, you can use the table on the "Topic bindings" tab on the Environment page. Use the three-dots-menu on the right side of a table row and click on "Edit". This will open the dialog where you can edit which message hub binding and topic to use. You can also create a new topic here if you have sufficient permissions on the broker.

If you want to edit the local version of an event topic binding that will be applied to only the projects on a certain deployment target, you have to select the corresponding k5-project first and then go to the "Topic bindings" tab. Now you can override the global value of a binding for a certain stage/deployment target. You can see that it is now a local binding because the check in the "Global" column is now gone.

Note:

This way you can provide stage-dependent topic configurations to your projects.

The following field can be edited:

  • Message Hub Service Binding
  • Topic Name
  • Retention Hours

Delete event topic bindings

You can delete event topic bindings only in Solution Hub. If you want to delete the global version of an event topic binding you can use the table on the "Topic bindings" tab on the Environment page. Use the three-dots-menu on the right side of a table row and click on "Delete".

If you want to delete the local version of an event topic binding that will be applied to only the projects on a certain deployment target, you have to select the corresponding k5-project first and then go to the "Topic bindings" tab. Now you can delete the local version only without deleting the global version. All deployments on the chosen deployment target that associate this binding will now use again the global version of the binding (after re-deploying).

Warning:

You can only delete an event topic binding if it is not in use. You can check the usages of an event topic binding by using the Info capability and navigating to the Usages section. You will need to confirm the action before the selected event topic binding is permanently deleted.