-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kafka Producer as a Datasink #329
base: main
Are you sure you want to change the base?
Conversation
...org/eclipse/digitaltwin/basyx/databridge/kafka/configuration/KafkaProducerConfiguration.java
Outdated
Show resolved
Hide resolved
...org/eclipse/digitaltwin/basyx/databridge/kafka/configuration/KafkaProducerConfiguration.java
Outdated
Show resolved
Hide resolved
...org/eclipse/digitaltwin/basyx/databridge/kafka/configuration/KafkaProducerConfiguration.java
Show resolved
Hide resolved
...org/eclipse/digitaltwin/basyx/databridge/kafka/configuration/KafkaProducerConfiguration.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @iamaccosta,
Thanks a lot for your implementation.
Please address the mentioned review remarks.
There are few additional remarks as follows:
- Please sign the Eclipse Contributor Agreement. If you don't already have an eclipse account, you will need to create one. You can also link the account to your GitHub account. Please make sure that the email that you used to sign your commits is the same mail that you use for your eclipse account.
- Please use the formatter to format the code (if using eclipse IDE). [1]
- An example is missing, please add an example to demonstrate the working of your implementation, refer to [1]. You are free to choose any Consumer and Transformer, but I would suggest (Aas - [any transformer] - Kafka) if possible.
- The regression tests are missing, and it can be done in two steps. These tests are similar to the example above, but it ensures that the implementation also works with the DataBridge component (i.e, in docker environment). First, add a DataBridgeSuiteKafka (similar to [3]), and then add a test implementation of it (similar to [4]).
Links:
[1] https://wiki.basyx.org/en/latest/_downloads/ef40d3c625f309e00aacfe812a8b9e68/BaSyx_Formatting.zip
[2] https://github.com/eclipse-basyx/basyx-databridge/tree/main/databridge.examples
[3] https://github.com/eclipse-basyx/basyx-databridge/blob/main/databridge.component/src/test/java/org/eclipse/digitaltwin/basyx/databridge/executable/regression/DataBridgeSuiteMqtt.java
[4] https://github.com/eclipse-basyx/basyx-databridge/blob/main/databridge.component/src/test/java/org/eclipse/digitaltwin/basyx/databridge/executable/regression/TestDataBridgeMqtt.java
Hi @mdanish98, New commits pushed. I addressed the mentioned reviews, signed the ECA, added the formatter to Eclipse, and the example to In the example, I used the .aasx file presented in the Since my local test from the initial PR commits was failling maybe due to some errors on my initial implementation, I think this test is supposed to fail right? |
This PR introduces a Kafka producer implementation to the BaSyx Databridge, allowing Kafka to act as a DataSink. This enhancement makes it possible to publish data from the AAS environment to Kafka topics, extending integration options for real-time data streaming and processing.
I added the files:
Ran the commands:
mvn clean install -DskipTests
(removed the tests since they were failing)docker build -t custom-databridge:latest.
Dockerfile:
Launched my databridge example that is:
retrieving
withaaspollingconsumer.json
from the same property and sending to a Kafka broker.databridge.kafka.zip
Logs: